生成用于图像处理操作的目标图像的语义表示的系统和方法与流程

文档序号:18547627发布日期:2019-08-27 21:50阅读:193来源:国知局
生成用于图像处理操作的目标图像的语义表示的系统和方法与流程

现有搜索引擎能够提供用于执行图像搜索的机制。在图像搜索中,用户通常向图像搜索引擎提交包括图像文件(或者到图像文件的链接)的图像查询。图像搜索引擎分析图像的内容,搜索与该图像内容相似的其它图像,并将结果呈现给用户。然而,大多数图像搜索引擎不提供用户可以通过其定义要搜索的目标图像的复杂语义表示的机制。



技术实现要素:

各种实施例包括生成用于图像处理操作的图像的语义表示的方法和实现该方法的计算设备。各种实施例可以包括:分析图像以识别图像中的一个或多个感兴趣元素,识别与该图像中的一个或多个感兴趣元素相关联的一个或多个概念,以及使用其它信息来识别未包括在该图像中的一个或多个潜在的感兴趣元素,其中,所述一个或多个潜在的感兴趣元素描述所述一个或多个概念的一个或多个实例。各个实施例还可以包括:呈现一个或多个感兴趣元素、一个或多个潜在的感兴趣元素以及一个或多个概念,接收选择以下各项中的一项或多项的用户输入:针对目标图像的一个或多个感兴趣元素、一个或多个潜在的感兴趣元素以及所识别的感兴趣元素和概念中识别出的一个或多个概念或其任何组合,并且基于所选择的感兴趣元素和概念来生成目标图像的语义表示。

一些实施例可以进一步包括:识别描述未包括在图像中的一个或多个潜在的感兴趣元素的一个或多个潜在概念,以及识别未包括在图像中的一个或多个其它潜在的感兴趣元素,其中,所述一个或多个其它潜在的感兴趣元素描述了一个或多个潜在概念的一个或多个实例。这样的实施例可以进一步包括:继续递归地识别其它潜在概念、其它潜在的感兴趣元素或其任何组合,直到达到最大递归深度为止。

一些实施例还可以包括:基于所生成的目标图像的语义表示来执行图像处理操作,其中图像处理操作可以包括:图像搜索操作、图像编辑操作和图像挖掘操作,或其任何组合。

一些实施例还可包括:接收包括一个或多个群组参数的用户输入,其中,所述一个或多个群组参数定义所选择的目标图像的感兴趣元素和概念的一个或多个群组,其中,基于所选择的感兴趣元素和概念来生成目标图像的语义表示可以包括:基于所选择的感兴趣元素和概念以及用户输入来生成目标图像的语义表示。

一些实施例还可包括接收包括用于目标图像的一个或多个空间参数的用户输入,其中,所述一个或多个空间参数定义所选择的目标图像的感兴趣元素和概念之间的一个或多个空间关系,并基于所选择的感兴趣元素和概念以及用户输入来生成目标图像的语义表示。

一些实施例还可以包括接收包括用于目标图像的一个或多个时间参数的用户输入,其中,所述一个或多个时间参数定义用于目标图像的具体时间或时间段。在这样的实施例中,基于所选择的感兴趣元素和概念来生成目标图像的语义表示可以包括:基于所选择的感兴趣元素和概念以及用户输入来生成目标图像的语义表示。

一些实施例可以进一步包括:接收目标图像的第一语义表示的用户输入,使用目标图像的第一语义表示来查询数据库,响应于使用第一语义表示查询数据库,从数据库中检索多个图像和相关联的元数据,以及基于排名对多个图像和相关联的元数据进行排序。在这样的实施例中,分析图像以识别图像中的一个或多个感兴趣元素可以包括:分析多个图像和相关联的元数据中的一个或多个排名靠前的图像和相关联的元数据,以识别一个或多个排名靠前的图像中的一个或多个感兴趣元素,识别与图像中的一个或多个感兴趣元素相关联的一个或多个概念包括,识别与在一个或多个排名靠前的图像中识别出的一个或多个感兴趣元素相关联的一个或多个概念,并且使用其它信息识别未包括在图像中的一个或多个潜在的感兴趣元素可以包括:使用一个或多个排名靠前的图像的相关联的元数据来识别未包括在一个或多个排名靠前的图像中的一个或多个潜在的感兴趣元素。

其它实施例包括具有存储器和处理器的计算设备,所述处理器耦合到所述存储器并配置有处理器可执行指令以执行上面概述的方法的操作。其它实施例可以包括计算设备,所述计算设备包括用于执行上面概述方法的功能的单元。其它实施例可以包括非暂时性处理器可读存储介质,其上存储有处理器可执行指令,所述处理器可执行指令被配置为使计算设备的处理器执行上面概述的方法的操作。

附图说明

合并到本申请中并构成本说明书一部分的附图示出了示例性实施例,并且与上面给出的一般描述和下面给出的具体实施方式一起来解释各种实施例的特征。

图1a、图1b、图1c、图1d、图1e和图1f是示出根据一些实施例的用于生成目标图像的语义表示的示例性用户界面的示意图。

图2a是示出实现各种实施例的用户与用户的计算设备之间的交互的过程流程图。

图2b是示出根据各种实施例的由服务器(或其它计算设备)向用户的计算设备提供的服务的操作的过程流程图。

图3是示出根据一些实施例的用于生成目标图像的语义表示的方法的过程流程图。

图4是示出根据一些实施例的用于生成目标图像的语义表示的另一种方法的过程流程图。

图5是示出适用于各种实施例的智能手机类型移动通信设备的组件的示意图。

图6是示出适用于各种实施例的膝上型计算设备的组件的示意图。

图7是示出适用于各种实施例的服务器的组件的示意图。

具体实施方式

将参考附图来详细描述各种实施例。只要有可能,在贯穿附图中将使用相同的附图标记来表示相同或相似的部分。对具体的示例和实现方式的参考是出于说明目的,而并不旨在限制权利要求的范围。

术语“计算设备”在本申请中用于指代被配备有至少一个处理器的电子设备。计算设备的示例可以包括但不限于移动通信设备(例如,蜂窝电话、可穿戴设备、智能电话、网络平板电脑、平板电脑、具有因特网功能的蜂窝电话、具有功能的电子设备、个人数据助手(pda)等)、个人计算机(例如,笔记本电脑等)和服务器。

各种实施例提供在计算设备中实现的方法,该方法用于通过递归地分析图像结合计算设备可用的或者由用户提供的用于识别输入图像中的感兴趣元素(图中的“eoi”)和概念以及未包括在图像中的潜在的感兴趣元素(图中的潜在“eoi”)和/或潜在概念的其它数据,来生成目标图像的语义表示。递归地分析目标图像和计算设备可用的其它信息使得在先前分析中识别的感兴趣元素和概念能够在后续分析中利用,以便识别目标图像内的或关于目标图像的更多层的概念和更多具体元素,它们可用于分类、特征化、关联、处理和搜索目标图像。从用户数据库(例如,日历记录、联系人列表等)获得的信息可以用于递归分析,以识别目标图像内的活动、位置、个体等。目标图像内或与目标图像相关联的元数据(例如,日期、时间、位置等)可用于识别其它信息相关的信息,例如,用户日历数据库内的日期和位置。用户输入可以用于递归分析,以识别目标图像中的感兴趣元素或具体概念,或者从目标图像推断出用户特别感兴趣的元素。结合用户数据库、图像元数据和用户输入的目标图像的多次迭代分析的结果可以是目标图像的更健壮的分析和/或语义特征,其可用于分类、关联、处理或搜索图像的目的。各种实施例可以特别适合用于增强图像搜索或其它图像分析操作。

一些实施例可以包括:分析图像,以识别输入图像中的感兴趣元素和与感兴趣元素相关联的概念。然后,可以使用所识别的感兴趣元素和概念来识别未包括在图像内但与图像内的感兴趣元素相关联的概念相关的潜在感兴趣元素。在一些实施例中,还可以确定与所识别的潜在感兴趣元素相关联的潜在概念,并且所识别的潜在概念可以用于递归地确定其它潜在的感兴趣元素。可以通过组合计算设备内的其它信息源(例如,用户的日历数据库、用户的联系人数据库等)来确定这些潜在的感兴趣元素和潜在概念。因此,各种实施例提供了图像的递归分析,使计算设备能够以可以延伸到图像中出现的范围以外的感兴趣元素和概念的形式推断目标图像对于用户的更深层含义。

通过一个或多个递归分析例程来分析目标图像、用户数据库、图像元数据和用户输入而确定的感兴趣元素和概念可以在显示器上呈现给用户(其可以包括在计算设备上或通过远程服务器(例如在“云”中)生成的用户界面),以使用户能够选择感兴趣元素和/或概念(包括潜在的感兴趣元素和/或概念)用于生成目标图像的语义表示。然后,可以在图像和其它数据分析的后续迭代中使用显示或高亮显示的感兴趣元素和/或概念的用户选择,以识别可能与用户相关的其它感兴趣元素或概念。因此,通过使用户能够通过用户界面选择感兴趣元素、潜在的感兴趣元素、概念和/或潜在概念,可以获得目标图像的更丰富、更详细的语义表示以用于图像搜索或其它图像分析操作。通过在用户界面(例如,触摸屏显示器)上呈现感兴趣元素和/或概念(包括潜在的感兴趣元素和/或概念),可以向用户呈现更具交互性的图像分析和搜索工具。可以使用计算设备处理器,或者可以由另一计算设备(诸如在“云”中)生成这样的用户界面。在一些实施例中,用户界面还可以使用户能够定义针对目标图像所选择的感兴趣元素和概念中识别出的感兴趣元素、潜在的感兴趣元素、概念和/或潜在概念之间的各种群组、时间、空间关系。

术语“感兴趣元素”在本申请中用于指代可以在图像中识别、选择和/或检测的人、地点或有形物体。感兴趣元素可以是出现在图像的前景中的可识别对象或人物;但是,感兴趣元素也可以是出现在图像背景中的对象或场景。在图像分析的若干次迭代之后,其可以包括用户输入选择具体感兴趣元素进行分析,感兴趣元素可能变成该图像内的更小、更不明显或者更具体的物品或对象。

术语“概念”在本申请中用于指代可以与一个或多个感兴趣元素(eoi)相关联的、从其衍生或基于其确定的属性、类别、类型、质量、特征、特点、特性、分类或事件。概念可能与感兴趣元素重叠。例如,将图像中的人识别为johnsmith的图像分析可以与概念“男人”、“朋友”和/或“家人”关联起来。

感兴趣元素和概念可以被描述为使用语言标签(例如,“人”、“mary”、“朋友”、“休假”等,这些示例是为了便于描述)来识别和标记。但是,可以由计算设备使用由处理器自动生成和/或存储和使用的任何符号标签来跟踪、存储和操纵感兴趣元素和概念。例如,感兴趣元素和概念可以被分配二进制代码,并且可以存储作为元数据和分析的图像、或者存储在链接到分析的图像的单独数据结构或数据库中。

图1a、图1b、图1c、图1d、图1e和图1f是根据一些实施例,描绘用于显示通过对目标图像的机器分析所识别出的感兴趣元素和概念、用于接收用于进行对图像分析的进一步迭代并生成目标图像的语义表示的用户输入的用户界面100的示意图。在一些实施例中,用户界面100可以是由计算设备的处理器执行的图形用户界面。在一些实施例中,用户界面100可以由在计算设备的处理器上执行的应用用户界面(ui)进程来生成。在一些实施例中,应用ui进程可以被配置为通过网络与远程服务器进行通信或者在本地与在计算设备上执行的服务进行通信以执行图像分析和/或搜索操作、图像挖掘操作、图像编辑操作或其它类型的图像处理操作。在一些实施例中,用户界面100可以由远程服务器生成并发送给计算设备以供显示(例如,交互式网页)。在一些实施例中,远程服务器可以在“云”中。

如图1a所示,用户界面100可以显示输入图像105。在一些实施例中,显示的输入图像105可以从通过用户界面100的用户输入指定的图像文件进行加载,例如,“打开文件”或“下载文件“对话框(图中未示出)。在一些实施例中,可以在计算设备的存储器中的一个位置处或者使用网络链接或地址(例如,通用资源定位符或“url”)来指定图像文件。

如图1b所示,用户界面100可以配置为基于图像分析的第一次迭代来高亮显示或以其它方式识别潜在的感兴趣元素,诸如高亮显示或识别被认出的前景对象(例如,脸部)。在图1b所示的示例中,图像105中的感兴趣元素可以包括“johnsmith”110a(例如,通过面部识别来确定的)、“金门大桥”110b(例如,通过将背景对象与图像数据库中分类的已知对象进行匹配来确定),和“云”110c(例如,通过基于图像中的颜色、形状、位置等分析试探法来确定)。

用户界面100可以配置为接收用户输入,该用户输入选择或识别该图像中的一个或多个感兴趣元素(例如,110a、110b、110c)。在一些实施例中,用户可以使用指示设备通过选择图像105内检测出的各种元素的一个或多个自动生成的图形指示(例如,标签、边框或其它覆盖图形等)来识别图像105中的一个或多个感兴趣元素。在一些实施例中,用户可以通过使用指示设备(例如,鼠标、指示笔、手指等)包围或以其它方式指定包含图像中感兴趣元素的边界区域与用户界面100进行交互,以识别出输入图像105中的感兴趣元素(eoi)。例如,这样的用户输入可以是在第一次分析迭代中识别出的高亮显示的对象上的鼠标点击、在第一次分析迭代中未识别出的对象(即,未高亮显示的对象)上的鼠标点击、环绕图像的一部分的用户输入线或圈等形式。在一些实施例中,用户界面100可以配置有语音识别能力,使得用户可以输入语音命令以识别图像105中的一个或多个感兴趣元素。

在一些实施例中,用户界面100可以配置为将输入图像105和来自输入图像的用户识别的感兴趣元素(例如,110a,110b,110c)通过网络传送到远程服务器或本地传送到计算设备上运行的服务。在一些实施例中,除了输入图像105和/或用户识别的感兴趣元素,用户界面100还可以传送与输入图像105相关联的补充信息,例如,日期时间戳、地理位置和/或其它图像元数据。

作为响应,远程服务器或本地服务可以配置为识别图像中的感兴趣元素和概念以及未包括在图像中的潜在的感兴趣元素和可选的潜在概念。例如,作为对从图像105中识别出的感兴趣元素110a、110b和110c确定“休假”的概念的响应,远程服务器或本地服务可以识别描述“度假”概念的具体实例(例如,“加利福尼亚2016”)的一个或多个潜在的感兴趣元素。参考图3和图4更详细地描述和说明用于递归地识别感兴趣元素和概念的实施例的示例。

在从远程服务器或本地服务返回递归所识别的感兴趣元素和概念时,用户界面100可以配置为显示该递归识别的感兴趣元素和概念,如图1c中所示。在一些实施例中,用户界面100可以通过图形窗口(例如,弹出窗口、框架或覆盖)120将所识别的感兴趣元素和概念显示为可选的感兴趣元素和概念(包括潜在的感兴趣元素和可选的潜在概念)的列表。例如,图形窗口120可以显示“johnsmith”、“金门大桥”、“云”作为图像中识别出的感兴趣元素,“男人”、“桥”、“多云”和“假期”作为与图像中感兴趣元素相关联的概念,以及”加利福尼亚2016“作为”假期“概念的特定实例。在另一个实施例中,递归识别的感兴趣元素和概念可以与从图像数据库绘制的包含那些感兴趣元素和概念的示例图像相关联,从而允许用户交互地选择图像子集(并且因此由那些图像例举的感兴趣元素和概念)以进一步操作。

在一些实施例中,图形窗口120还可以显示交互式选择元素,用于在可选择的感兴趣元素(eoi)和概念的所显示的感兴趣元素和概念中选择用于包含在目标图像的语义表示中的。例如,交互选择元素(例如,复选框、单选按钮、可选菜单项等)可用于选择所显示的感兴趣元素和概念(例如,“johnsmith”、“金门大桥”、“云”、“男人”、“桥梁”、“阴天”、“假期”和“加利福尼亚2016”)的任何组合。

在一些实施例中,用户界面105还可以使用户能够定义针对目标图像所选择的感兴趣元素和概念中识别出的感兴趣元素和/或概念之间的各种群组、空间和时间关系。例如,如图1d中所示,用户界面100可以配置为显示群组设置工具130,用于定义针对目标图像所选择的感兴趣元素和概念之间的一个或多个群组关系。在一些实施例中,可以使用一个或多个群组参数来定义群组。在一些实施例中,一个或多个群组参数可以包括但不限于布尔运算符(例如,and、or、not)。在一些实施例中,群组设置工具130可以使用一个或多个群组参数来显示自动生成的所选择的感兴趣元素和概念中识别的感兴趣元素和/或概念的可选群组列表。在一些实施例中,群组设置工具130可以使用户能够通过指定一个或多个群组参数来定义一个群组,该群组参数用于包括或排除针对所定义的群组的一个或多个感兴趣元素或概念。

如图1e中所示,用户界面100可以配置为显示空间设置工具140,用于定义与目标图像内或与目标图像相关的所选择的一个或多个感兴趣元素相对应的一个或多个空间参数。在一些实施例中,空间设置工具140可以配置为使用户能够定义目标图像内或与目标图像相关的所选择的两个或更多个感兴趣元素或概念之间的空间关系(例如,在“桥”前面的“男人”)。其它空间关系的示例可以包括但不限于“在......之后”、“上方”、“下方”、“叠加”、“左侧”、“右侧”等。在一些实施例中,空间设置工具140可以配置为使用户能够定义针对目标图像所选择的感兴趣元素的视角。例如,空间设置工具140可以使用户能够以期望的角度透视(例如,360度相机形的界面)指定所选择的感兴趣元素的视点。

如图1f中所示,用户界面100可以配置为显示用于定义针对目标图像的语义表示的一个或多个时间参数的时间设置工具150。例如,在一些实施例中,时间设置工具150可以是图形滑动条,其指定覆盖以年为周期的时间线。在一些实施例中,指定的时间线可以覆盖更长或更短的时间跨度。通过向前或向后拖动图形滑动条的滑块元素,用户可以设置针对目标图像的具体时间或时间段(例如,“1980”)。在一些实施例中,设定时间或时间段可对应于何时创建目标图像或何时将图像上传或存储在数据库中。

响应于从所识别的感兴趣元素和概念中接收用户输入选择并定义群组、空间和时间关系,在计算设备上执行的远程服务器或服务可以基于这些信息生成目标图像的语义表示。

在图2a和图2b中示出了用户与其计算设备以及具有远程计算机(诸如服务器)提供的服务的计算设备的交互。图2a中示出了用户和用户的计算设备之间的交互。用户的计算设备与远程计算设备(例如,服务器)提供的服务交互,该远程计算设备执行如图2b中所示的操作。

参考图2a,在框202中,用户的计算设备上执行的应用可以从服务生成的感兴趣元素、概念、群组、空间设置和时间设置进行接收,并且将这样的信息显示在计算设备的显示器上(例如,在显示器上呈现的用户界面图像内)。在一些实施例中,计算设备可以生成在显示器上呈现的用户界面,该用户界面包括服务生成的感兴趣元素、概念、群组、空间设置和时间设置。在一些实施例中,计算设备可以从“云”的远程服务器接收用户界面(例如,交互式网页)并且在显示器上呈现所接收的用户界面,其包括服务生成的感兴趣元素、概念、群组、空间设置和时间设置。

用户看到在框204中显示的这一显示信息,并且可以在框206中提供用户输入(例如,通过与用户界面元素交互)以选择和/或指定感兴趣元素、概念、分组、空间设置和时间设置。用户输入(例如,与用户界面元素的交互)可以在显示之后的任何时间(即,异步地)发生。此外,用户输入(例如,与显示图像的用户界面的交互)可以继续随时间进行接收,包括在用户输入被用户的计算设备进行处理之后,如虚线所示。以上参考图1a-图1f示出和描述了这种用户交互的示例。

在框208中,计算设备接收用户输入,该用户输入向用户的计算设备上执行的应用程序提供由用户查看的图像的语义表示。在框210中,该应用程序将图像的语义表示发送给服务(例如,远程服务器)。

因为用户输入(例如,与显示图像的用户界面的交互)可以持续一段时间,所以用户的计算设备可以继续在框208中接收提供图像的附加语义表示的用户输入,并将它们接收到的图像的额外语义表示发送给服务,如虚线所示。在框212中,应用程序可以等待服务发送回感兴趣元素、概念、群组、空间设置和时间设置,其可以包括在等待时向服务发送图像的附加语义表示。

在框214中,当服务返回感兴趣元素、概念、群组、空间设置和时间设置信息时,应用程序将接收信息叠加到显示器中。在一些实施例中,在框214中,接收信息可以被叠加到用户界面显示中。在一些实施例中,在框214中,远程服务器(例如,在“云”中)可以向计算设备发送包括接收信息的更新用户界面以进行显示。用户在框204中可以看到调整后的信息并如上所述在框206中提供进一步输入(例如,与用户界面元素的交互)。

参考图2b,在框252中,可以在远程服务器上执行的服务从应用程序接收图像的语义表示。

在框253中,服务可以使用从框252接收的图像的语义表示来向图像和元数据信息数据库255查询相关图像。在该操作中,使用语义表示的查询可以被称为查询q.

在框254中,服务可以从图像和元数据信息数据库255中检索作为对查询q的响应而确定的图像和相关联的元数据。在该操作中,接收的图像和相关联的元数据可以被称为结果集r。可以基于集合r与数据库255的查询q的相关性对集合r进行排名。

在框256中,服务可以基于排名对检索到的图像和元数据的结果集r进行排序。该排序结果集可以称为rs。

在框258中,服务可以从排序结果集rs中提取前n个结果,形成集合rn。

在框260中,针对最优结果集合rn内的图像,服务可以获取感兴趣元素、概念、群组、空间设置和时间设置以及其它信息。

在框262中,服务可以将所获得的该最优结果集合rn中的图像的感兴趣元素、概念、群组、空间设置和时间设置以及其它信息发送到用户的计算设备上的应用程序,此处其是在如上所述的方法200的框214中被接收的。

在确定框264中,服务可以确定在与用户的计算设备的交互中是否已达到最大递归深度。在各种实施例中,递归深度可以是1到n次递归之间的任何值。在一些实施例中,作为对确定数据库中的所有图像和相关联的元数据已经成为结果集r的一部分的响应,服务可以确定达到最大递归深度。在一些实施例中,作为对确定处理时间已达到预定阈值的响应,服务可以确定达到最大递归深度。

在框266中,作为对确定没有达到最大递归深度(即,确定框264=“否”)的响应,服务可以生成最优排序集合rn内的图像的语义表示,然后使用在框266中生成的最优排序集合rn中的图像的语义表示在框253中再次向图像和元数据信息数据库255查询相关图像。

作为对确定已经达到最大递归数据(即,确定框264=“是”)的响应,服务可以停止与在用户的计算设备上执行的应用程序交互,因为已经提供了对图像的最大级别的分析。

图3是示出根据一些实施例的用于生成目标图像的语义表示的方法300的方法流程图。参考图1a-图2,方法300的操作可以由远程服务器的一个或多个处理器、执行本地服务的计算设备的一个或多个处理器或其任何组合来执行。在一些实施例中,远程服务器、本地服务或其任何组合还可以基于所生成的目标图像的语义表示来执行图像搜索操作、图像挖掘操作、图像编辑操作或其它类型的图像处理操作。

在框310中,处理器可以分析输入图像(例如,图1b的105)以识别图像中的一个或多个感兴趣元素(例如,图1b的110a、110b、110c)。例如,在一些实施例中,处理器可以配置有图像处理算法,该图像处理算法能够通过分析输入图像(例如,105)的一个或多个用户选择的有界区域内包含一个或多个感兴趣元素(例如,110a、110b、110c)的图像内容来确定感兴趣元素。例如,图像105中的感兴趣元素可以包括“johnsmith”、“金门大桥”和“云”。

在一些实施例中,输入图像(例如,105)可以从通过用户输入(例如,通过用户界面100)指定的图像文件进行加载,例如,“打开文件”或“下载文件”对话框(图中未示出)。在一些实施例中,可以在计算设备的存储器中的位置处或者使用网络链接或地址(例如,通用资源定位符或“url”)来指定图像文件。

在一些实施例中,输入图像(例如,105)可以包括使用目标图像的初始语义表示从图像数据库的查询中获取的一个或多个输入图像。例如,初始语义表示可以是包括一个或多个关键字的列表的查询字符串。在一些实施例中,可以通过检索满足查询的图像、基于与查询的相关性对检索到的图像进行排序、对排序后的检索图像集合进行排序、以及使用排名靠前的一个或多个图像作为输入图像用于生成目标图像的更复杂表示的分析,从而确定一个或多个输入图像的集合。

在框320中,处理器可以识别与在框310中确定的图像中的一个或多个感兴趣元素相关联的一个或多个概念。例如,可以从图像105中的感兴趣元素110a、110b、110c(即,“johnsmith”、“金门大桥”和“云”)确定“男人”、“桥”、“多云”和“假期”的概念。

在一些实施例中,处理器可以配置为使用概念学习技术来识别与图像中的感兴趣元素相关联的一个或多个概念。概念学习是一种机器学习或人工学习,其中,处理器可以在对象(例如,人、地点或事物)的示例图像上进行训练,以“学习”相关概念。在这样的训练之后,处理器可以被配置为将一个或多个概念分配给与训练图像类似的感兴趣元素。概念学习可以大致分类为包括监督学习和无监督学习。

在监督学习中,处理器可以在说明概念和否定概念两者的图像示例上进行训练。例如,可以在猫和狗的图像上训练处理器,前者标记为概念“猫”的示例,后者标记为概念“非猫”的示例。通过经由图像处理技术提取显著特征(例如,眼睛、鼻子形状、面部形状、胡须长度、毛皮、尺寸等),处理器可以在“特征空间”中构建数学模型并确定叫做“超平面”的数学对象以便将猫与非猫分开,从而有效地学习“猫”的概念。在特征空间中使用学习的超平面,处理器可以准确地检测所学习的概念的实例并将一个或多个概念分配给被检测为该图像中的感兴趣元素的实例。

在无监督学习中,处理器可以在没有任何手动提供的标签的情况下在图像示例上进行训练。例如,处理器可以在对象(例如,人、地点或事物)的大图像数据库上进行训练。处理器通过图像处理技术提取显著特征,然后将图像处理技术与诸如k-最近邻居或神经网络之类的技术相结合,这些技术能够使处理器在特征空间中形成簇,其中每个簇表示不同概念。如果这些学习的概念类似于先前由处理器学习的概念,则处理器可以向新学习的概念分配类似的标签。在一些实施例中,这样的标签可以是由处理器自动生成和使用的人类语言标签或符号标签。此外,处理器可以发现簇的层次等级,从而学习甚至更抽象的概念,比如,与“无生命的对象”相对的“生物”。

在框330中,处理器可以使用其它信息识别未包括在图像(例如,105)中的一个或多个潜在的感兴趣元素。所述一个或多个潜在的感兴趣元素可以描述在框320中确定的与图像(例如,105)中的一个或多个感兴趣元素相关联的一个或多个概念的一个或多个实例。例如,“加利福尼亚2016”的潜在感兴趣元素可以被确定为“假期”概念的具体实例。

在一些实施例中,例如,处理器可以通过使用在框320中确定的一个或多个概念作为搜索关键字来访问图像和相关联元数据的数据库来识别未包括在图像中的一个或多个潜在的感兴趣元素。与数据库中的每个图像相关联的元数据可以包括但不限于,例如,图像中的感兴趣元素(eoi)和图像中的概念(例如,先前根据各种实施例来确定并且与图像一起存储在元数据中)、图像的日期/时间、图像的位置、图像所在的相册的名称(例如,“加利福尼亚2016”)和标签(例如,“轻松时刻”、“家庭”和“爱”)之类的信息。在一些实施例中,与每个图像相关联的元数据可以由用户提供或者针对每个图像自动生成。在一些实施例中,作为对处理器向计算机请求元数据的响应,可以预先计算或根据需要来计算元数据。

在一些实施例中,可以使用包括在数据库中或从数据库中存储的信息构造的关键字值字典数据结构来搜索图像数据库。关键字值字典数据结构可以包括多个关键字值对,使得每个关键字标识一个概念,其具有引用一个或多个存储图像的一个或多个值和与该概念有关的关联元数据。使用在框320中识别的一个或多个概念作为搜索关键字,处理器可以搜索该关键字值字典数据结构以从存储在数据库中的图像和相关联元数据中识别出潜在的感兴趣元素(例如,“加利福尼亚2016”)作为被搜索的概念(例如,“假期”)的具体实例。

在可选框340中,处理器可以识别描述未包括在图像(例如,105)中的一个或多个潜在的感兴趣元素的一个或多个潜在概念。在一些实施例中,处理器可以通过类似于框330中公开的方式识别一个或多个潜在概念,除了在框330中确定的一个或多个潜在的感兴趣元素被用作在数据库中搜索那些潜在概念的关键字。

在一些实施例中,处理器可以重复框330中的操作以识别与可选框340中识别的一个或多个潜在概念有关的一个或多个潜在的感兴趣元素。在一些实施例中,处理器可以重复可选框340和框330一次或多次,以递归地识别其它潜在的感兴趣元素和潜在概念。在一些实施例中,处理器可以继续重复框330和340中的操作,直到达到最大递归深度为止(例如,处理器完成框330和340的预定次数的迭代)。

在框350中,处理器可以将框310、320、330和可选的340中确定的感兴趣元素和概念呈现在计算设备的显示器上(例如,通过用户界面)。在一些实施例中,处理器可以将命令或其它指令传送到计算设备上运行的用户界面(例如,100),以在图形窗口(例如,图1c的120)中显示所识别的感兴趣元素和概念(包括潜在的感兴趣元素和概念)。在一些实施例中,远程服务器(例如,在“云”中)可以向计算设备发送用于在图形窗口(例如,图1c的120)中显示的用户界面(例如,交互式网页),其包括所识别的感兴趣元素和概念(包括潜在的感兴趣元素和概念)。例如,图形窗口120可以将“johnsmith”、“金门大桥”、“云”显示为在图像中识别出的感兴趣元素,将“男人”、“桥”、“多云”和“假期”显示为与图像中的感兴趣元素相关联的概念,并且将“加利福尼亚2016”显示为作为“度假”概念的具体实例的潜在的感兴趣元素。

在框360中,处理器可以接收用户输入(例如,通过用户界面(例如,100)),其选择在目标图像中识别出的或与该目标图像有关的感兴趣元素、概念、潜在的感兴趣元素和潜在概念中的一个或多个。例如,处理器可以通过用户界面的各种交互选择元素(例如,复选框、单选按钮、可选择的菜单项)接收用户输入,以将所显示的感兴趣元素和概念的所选组合(例如,“johnsmith”、“金门大桥”、“云”、“男人”、“桥”、“多云”、“假期”和“加利福尼亚2016”)输入到处理器。

在框370中,处理器可以生成目标图像的语义表示,其可以基于在框360中确定的所选择的感兴趣元素和概念。例如,在一些实施例中,目标图像的语义表示可以实现为文本字符串、数组、链接列表、或者包括所选择的感兴趣元素和概念的列表的其它数据结构。在一些实施例中,目标图像的语义表示还可以包括一个或多个附加参数,用于定义所选择的感兴趣元素和概念之间的群组、空间和/或时间关系。参考图4更详细地描述和说明用于定义这种群组、空间和时间关系的实施例的示例。

在框380中,处理器可以基于所生成的目标图像的语义表示来执行图像处理操作。在一些实施例中,处理器可以使用所生成的目标图像的语义表示在图像数据库中执行图像搜索操作。例如,针对目标图像生成的语义表示可以用于传达图像搜索操作的附加信息,其可能不容易仅从输入图像进行传达。例如,目标图像的语义表示可以指定要搜索的未包括在图像中的额外的感兴趣元素或概念(例如,潜在的感兴趣元素)。目标图像的语义表示可以指定应该从搜索结果中排除的感兴趣元素或概念。目标图像的语义表示还可以指定为了搜索而选择的感兴趣元素或概念之间的期望群组、空间和/或时间关系。

在一些实施例中,处理器可以使用所生成的目标图像的语义表示来对输入图像执行图像编辑操作。在一些实施例中,图像编辑操作可以包括使用目标感兴趣元素的语义表示替换所选择的感兴趣元素。例如,用户可以选择输入图像的背景中识别出的桥(例如“金门大桥”)作为第一感兴趣元素,并且可以将第一感兴趣元素与诸如“多云”之类的概念进行组合,以构造诸如“金门大桥不多云”之类的群组。然后,目标感兴趣元素的该语义表示可以被用于查询图像的数据库,以获取金门大桥在不多云时的最佳图片。然后,可以将该图片替换到原始图像的背景中,从而呈现出比原始图像更优越的图像。可以执行对所获得的最佳图片的一些图像处理,以匹配原始图像中的对象的尺寸和透视。

图4是示出根据一些实施例的用于生成目标图像的语义表示的另一方法400的处理过程流图。参考图1a至图1f和图3,方法400的操作可以由远程服务器的一个或多个处理器或运行本地服务的计算设备的一个或多个处理器或其任何组合来执行。例如,在一些实施例中,可以部分地使用本地服务并且部分地使用远程服务器来执行方法400。例如,运行本地服务的计算设备的处理器可以被配置为使用本地数据库来快速地计算感兴趣元素和概念的初始集合,而远程服务器可以被配置为返回附加的感兴趣元素和概念以增强本地计算出的初始集合。

方法400包括参考图3针对相同编号的框来描述的框310至框360以及框380中的操作。

在框410中,处理器可以接收包括一个或多个群组参数的用户输入(例如,通过用户界面(例如,100))。所述一个或多个群组参数可以定义针对目标图像所选择的感兴趣元素和概念的一个或多个群组。例如,处理器可以通过用户界面(例如,100)的群组设置工具(例如,图1d的130)接收用户输入。在一些实施例中,群组设置工具(例如,130)可以使用户能够通过指定个体eoi或概念之间、或者先前定义的eoi或概念群组之间的一个或多个群组参数(例如,布尔参数)来定义群组。在一些实施例中,群组设置工具130可以显示所选择的感兴趣元素和概念中识别的感兴趣元素和/或概念的自动生成的可选群组列表。在一些实施例中,可以在群组设置工具(例如,130)中呈现一个或多个交互式选择元素(例如,复选框、单选按钮、可选菜单项等),用于选择期望的群组参数或自动生成的群组。

在框420中,处理器可以接收(例如,通过用户界面(例如,100))包括用于目标图像的一个或多个空间参数的用户输入。在一些实施例中,一个或多个空间参数可以定义针对目标图像所选择的的感兴趣元素和概念之间的一个或多个空间关系。例如,在一些实施例中,处理器可以通过空间设置工具(例如,图1e的140)接收用户输入。在一些实施例中,空间参数可以定义在目标图像中识别的两个或更多个感兴趣元素或概念之间的空间关系(例如,“男人”在“桥”的前面)。其它空间关系的示例可以包括但不限于“在...之后”、“上方”、“下方”、“叠加”、“左侧”、“右侧”等。在一些实施例中,空间设置工具140可以被配置为使用户能够定义针对目标图像所选择的的感兴趣元素的视角。例如,空间设置工具140可以使用户能够以期望的角度透视(例如,360度相机形的界面)指定所选择的感兴趣元素的视角。

在框430中,处理器可以(例如,通过用户界面)接收用户输入,该用户输入包括目标图像的一个或多个时间参数。所述一个或多个时间参数可以定义目标图像的具体时间或时间段。在一些实施例中,该设定时间或时间段可以对应于目标图像被创建的时间或者目标图像被上传或存储到数据库中的时间,其可以从目标图像内或与目标图像相关联的元数据获得。在一些实施例中,处理器可以通过时间设置工具(例如,图1f的150)接收用户输入。例如,在一些实施例中,时间设置工具150可以是图形滑块条,其指定覆盖以年为周期的时间线。在一些实施例中,指定的时间线可以覆盖更长或更短的时间跨度。通过向前或向后拖动图形滑块条的滑块元素,用户可以为目标图像设置特定时间或时间段(例如,“1980”)。

在框440中,处理器可以基于所选择的感兴趣元素和概念以及在框410、420和430的一个或多个中接收的用户输入来生成目标图像的语义表示。例如,在一些实施例中,目标图像的语义表示可以实现为文本字符串、数组、链接的列表、或者包括所选择的感兴趣元素和概念的列表的其它数据结构。在一些实施例中,目标图像的语义表示的数据结构可以包括在框410中接收的一个或多个群组参数、在框420中接收的一个或多个空间参数、以及在框430中接收的一个或多个时间参数。

各种实施例可以在各种商业可用计算设备中的任何一种计算设备上实现。例如,图5是示出智能电话类型移动通信设备700的组件的示意图,其可以被配置为实现根据一些实施例的方法,包括参考图3和图4描述的方法300和方法400的实施例。移动通信设备500可以包括耦合到触摸屏控制器504和内部存储器506的处理器502。处理器502可以是针对一般或具体处理任务而指定的一个或多个多核集成电路。内部存储器506可以是易失性或非易失性存储器。触摸屏控制器504和处理器502还可以耦合到显示器,例如,触摸屏面板512,其可以是电阻式触摸屏、电容式触摸屏、红外感测触摸屏等。通信设备500的显示器不需要具有触摸屏功能,并且可以经由鼠标、键盘、触摸板等接收用户输入。另外,移动通信设备500可以包括耦合到处理器502和天线510的蜂窝网络收发机508,用于发送和接收可能连接到无线数据链路的电磁辐射。收发机508和天线510可以与上面提到的电路一起用于实现各种实施例方法。

移动通信设备500可以具有耦合到处理器502和天线510的蜂窝网络收发机508,并且被配置用于发送和接收蜂窝通信。移动通信设备500可以包括耦合到收发机508和/或处理器502的一个或多个用户身份模块(sim)卡516、518,并且可以如上所述进行配置。

移动通信设备500还可以包括用于提供音频输出的扬声器514。移动通信设备500还可以包括由塑料、金属或多种材料组合构成的外壳520,用于容纳本申请中讨论的所有或一些组件。移动通信设备500可以包括耦合到处理器502的电源522,诸如一次性电池或可充电电池。可再充电电池还可以耦合到外围设备连接端口,以从通信设备500外部的源接收充电电流。通信设备500还可以包括用于接收用户输入的物理按钮524。移动通信设备500还可以包括用于打开和关闭移动通信设备500的电源按钮526。

其它形式的计算设备,包括个人计算机和膝上型计算机,可用于实现各种实施例。例如,图6是示出膝上型计算设备600的组件的示意图,其可以被配置为实现根据一些实施例的方法,包括参照图3和图4描述的方法300和方法400的实施例。在一些实施例中,膝上型计算设备600可以包括用作计算机的指示设备的触摸板614,因此可以接收与在配备有触摸屏显示器并且如上所描述的移动计算设备上实现的那些类似的拖动、滚动和轻弹手势。这样的膝上型计算设备600通常包括耦合到易失性内部存储器602和大容量非易失性存储器(诸如,硬盘驱动606)的处理器601。膝上型计算设备600还可以包括耦合到处理器601的压缩光盘(cd)和/或dvd驱动器608。

膝上型计算设备600还可以包括耦合到处理器601的多个连接器端口610,用于建立数据连接或接收外部存储器设备,诸如用于将处理器601耦合到网络的网络连接电路。膝上型计算设备600可以具有一个或多个无线信号收发机618(例如,rf无线电)和天线620,用于如本文所述的发送和接收无线信号。收发机618和天线620可以与上面提到的电路一起使用以实现各种无线传输协议栈/接口。在膝上型或笔记本配置中,计算机外壳包括触摸板614、键盘612和显示器616,它们都耦合到处理器601。众所周知,计算设备的其它配置可以包括耦合到(例如,经由通用串行总线(usb)输入)处理器的计算机鼠标或轨迹球,它们也可以与各种实施例结合使用。

图7是示出了服务器700的组件的示意图,服务器700可以被配置为实现根据一些实施例的方法,包括参考图3和图4描述的方法300和方法400的实施例。这样的服务器700可以位置较远,例如,在“云”中。这样的服务器700通常包括耦合到易失性存储器702和大容量非易失性存储器(例如,硬盘驱动器703)的处理器701。服务器700还可以包括耦合到处理器701的软盘驱动器、压缩光盘(cd)或数字多功能光盘(dvd)光驱706。服务器700还可以包括耦合到处理器701的网络访问端口704,用于与网络705(例如,耦合到其它广播系统计算机和服务器的局域网)建立数据连接。

处理器701可以是任何可编程微处理器、微计算机或多处理器芯片或芯片组,其可由软件指令(应用程序)进行配置以执行各种功能,包括上述各种实施例的功能。在一些实施例中,可以提供多个处理器,比如,一个专用于无线通信功能的处理器和一个专用于运行其它应用的处理器。通常,软件应用程序可以在它们被访问并加载到处理器701中之前存储在内部存储器702、703中。处理器701可以包括足以存储应用程序软件指令的内部存储器。

示出和描述的各种实施例仅作为示例提供,以说明权利要求的各种特征。然而,关于任何给定实施例示出和描述的特征不必限于相关联的实施例,并且可以与示出和描述的其它实施例一起使用或组合。此外,权利要求不旨在受任何一个示例实施例的限制。

提供前述方法描述和方法流程图仅作为说明性示例,并且不旨在要求或暗示必须以所呈现的顺序执行各种实施例的步骤。本领域技术人员应当明白,可以按照任何顺序执行前述实施例中的操作顺序。诸如“之后”、“然后”、“接下来”等词语并不旨在限制操作的顺序;这些词语用于引导读者通读方法的描述。此外,以单数形式对权利要求元素的任何引用,例如,使用冠词“a”、“an”或“the”,不应被解释为将该元素限制为单数。

结合本申请中所公开的实施例而描述的各种说明性逻辑框、模块、电路和算法操作可实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上面已经在它们的功能方面对各种说明性的组件、框、模块、电路和操作进行了总体描述。至于是将此功能性实现为硬件还是软件,取决于具体应用和施加到整个系统上的设计约束。技术人员可以针对每个具体应用以不同方式实现所描述的功能,但是这种实现决策不应当被解释为导致背离权利要求的范围。

用于实现结合本申请中公开的方面描述的各种说明性逻辑、逻辑框、模块和电路的硬件可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被设计用于执行本申请中所述功能的它们的任意组合来实现或执行。通用处理器可以是微处理器,或者,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以实现为接收机智能对象的组合,例如dsp和微处理器的组合、两个或更多个微处理器、一个或多个微处理器结合dsp核、或任何其它这样的配置。或者,一些操作或方法可以由专用于给定功能的电路来执行。

在一个或多个方面中,所描述的功能可以用硬件、软件、固件或其任何组合来实现。如果以软件实现,则可以将功能作为一个或多个指令或代码存储在非暂时性计算机可读存储介质或非暂时性处理器可读存储介质上。本申请中公开的方法或算法的操作可以体现在处理器可执行软件模块或处理器可执行指令中,其可以驻留在非暂时性计算机可读或处理器可读的存储介质上。非暂时性计算机可读或处理器可读的存储介质可以是可由计算机或处理器访问的任何存储介质。举例说明而非限制,这种非暂时性计算机可读或处理器可读的存储介质可以包括ram、rom、eeprom、flash存储器,cd-rom或其它光盘存储器、磁盘存储器或其它磁存储智能对象、或者可以用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机访问的任何其它介质。本申请中使用的磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、dvd、软盘和蓝光光盘,其中,磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。以上组合也包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为一个或任何组合或一组代码和/或指令驻留在非暂时性处理器可读存储介质和/或计算机可读存储介质上,其可以合并到计算机程序产品中。

提供前面对所公开实施例的描述是为了使本领域任何技术人员都能够制作或使用权利要求。对于本领域技术人员来说,对这些实施例的各种修改是显而易见的,并且在不脱离权利要求的范围的情况下,这里定义的一般原理可以应用于其它实施例。因此,本公开内容不旨在限于本申请中所示的实施例,而是与符合所附权利要求以及本申请中公开的原理和新颖特征的最宽范围相一致。

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