用于高效数字对象分割的深度突出内容神经网络的制作方法

文档序号:17605671发布日期:2019-05-07 20:42阅读:173来源:国知局
用于高效数字对象分割的深度突出内容神经网络的制作方法

近年来,已经看到在客户端计算设备上对数字视觉媒体的使用急剧增加。实际上,个体和企业越来越多地将膝上型计算机、平板计算机、智能手机、手持设备和其他移动技术用于涉及数字视觉媒体的各种任务。例如,个体和企业越来越多地利用智能手机来捕获、查看和修改数字视觉媒体,诸如肖像图像、“自拍”或数字视频。

尽管传统的数字视觉媒体系统允许用户捕获和修改数字视觉媒体,但是它们也具有许多显著的缺点。例如,传统的数字视觉媒体系统可以利用相机来捕获数字视觉媒体,但是不能容易、快速或高效地从数字视觉媒体中描绘的其他像素中选择或分离个体对象。

一些传统的数字视觉媒体系统通过手动跟踪个体周围的边界线来辅助用户分离在数字图像中描绘的对象。然而,依赖于手动跟踪的传统系统在准确性、速度和效率方面具有显著的缺点。实际上,应用这种传统系统通常需要大量时间并且仍然导致不准确的对象分割。

其他传统的数字图像编辑系统通过应用机器学习分类模型来选择数字图像中的对象。具体地,传统的数字编辑系统可以应用分类模型,该分类模型将在数字图像中描绘的对象分类为多个对象类别中的一个,并且然后基于所确定的对象类别来对对象进行分割。不幸的是,这些传统工具也有许多缺点。

作为初始问题,利用分类模型的传统系统是严格的并且在应用性方面受到限制。例如,利用分类模型的传统系统通常利用有限数量(例如,20或80)的分类类别。这些有限的数目远远不足以涵盖个体或企业在数字视觉媒体中经常遇到的各种对象。另外,利用分类模型的传统数字视觉媒体系统具有高计算性能要求,其使得它们不可能在移动设备上操作。实际上,在移动设备上应用这种分类模型需要比典型移动设备能够提供的更多的存储器和处理能力。此外,利用分类模型的传统数字视觉媒体系统不能跨多个数字图像实时操作。例如,传统的数字视觉媒体系统不能分割在实时数字视觉媒体馈送中描绘的对象(例如,来自智能手机相机的实况视频馈送)。

关于标识数字视觉媒体中的对象存在这些和其他问题。



技术实现要素:

利用允许利用突出内容神经网络来对在数字视觉媒体中描绘的对象进行高效且准确的分割的系统、方法和非暂态计算机可读介质,本文描述的一个或多个实施例提供了益处和/或解决了本领域中的前述或其他问题中的一个或多个。具体地,在一个或多个实施例中,所公开的系统利用突出内容神经网络来直接在移动设备上选择在数字图像内描绘的对象。例如,在一个或多个实施例中,所公开的系统训练突出内容神经网络以分割数字图像中的前景和背景像素。然后,所公开的系统将该经训练的突出内容神经网络提供给移动设备,以通过分割数字视觉媒体中的前景和背景像素来标识数字视觉媒体内的对象。此外,在一个或多个实施例中,所公开的系统训练并提供不同的突出内容神经网络,以应用于静态和实时实现中。以这种方式,所公开的系统可以利用移动设备的有限计算资源来标识静态数字图像或实时数字视觉媒体馈送中的无限类别的对象,同时保持或改进所得到的分割的准确性(即,在某些实现中,iou准确度大于96%)。

本公开的示例性实施例的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过这些示例性实施例的实践来学习。

附图说明

参考附图描述了具体实施方式,其中:

图1图示了根据一个或多个实施例的深度突出对象分割系统可以操作的示例性环境的示意图;

图2a图示了根据一个或多个实施例的训练突出内容神经网络的流程图;

图2b-2c图示了根据一个或多个实施例的实时突出内容神经网络的示例性架构;

图2d-2e图示了根据一个或多个实施例的静态突出内容神经网络的示例性架构;

图3图示了根据一个或多个实施例的在移动设备上利用一个或多个突出内容神经网络的流程图;

图4a-4d图示了根据一个或多个实施例的具有用于显示数字视觉媒体中的分割对象的图形用户界面的移动设备;

图5图示了根据一个或多个实施例的基于来自经训练的对象分类神经网络的通道训练突出内容神经网络的流程图;

图6图示了根据一个或多个实施例的基于来自优化突出内容神经网络的优化参数来训练一个或多个突出内容神经网络以在移动设备上操作的流程图;

图7图示了根据一个或多个实施例的深度突出对象分割系统的示意图;

图8图示了根据一个或多个实施例的用于训练突出内容神经网络以选择数字视觉媒体中的对象的一系列动作的流程图;

图9图示了根据一个或多个实施例的用于分割数字视觉媒体内的突出对象的一系列动作的流程图。

图10图示了根据一个或多个实施例的示例性计算设备的框图。

具体实施方式

本公开的一个或多个实施例包括深度突出对象分割系统,其利用突出内容神经网络来标识在数字视觉媒体中描绘的对象。实际上,在一个或多个实施例中,深度突出对象分割系统利用用于语义分割问题的新颖的、重构的方法。具体地,在一个或多个实施例中,给定数字图像,深度突出对象分割系统标识并分割数字图像中的突出前景像素以标识对象,而不是将对象分类为一个或多个类别,然后基于类别分割对象。

例如,在一个或多个实施例中,深度突出对象分割系统利用突出内容神经网络(其比传统分类算法明显更紧凑和高效)来直接在移动设备上选择在数字视觉媒体中描绘的对象。具体地,在一个或多个实施例中,深度突出对象分割系统训练一个或多个突出内容神经网络以分割数字视觉媒体中的前景和背景像素,然后将一个或多个经训练的突出内容神经网络提供给移动设备。然后,深度突出对象分割系统可以利用移动设备上经训练的突出神经网络来分割实时数字视觉媒体馈送和/或静态数字图像中的对象。

通过利用被训练以分割前景像素和背景像素的突出内容神经网络,深度突出对象分割系统可以解决上述传统系统中的许多问题。例如,深度突出对象分割系统不是严格限于固定数量的对象类别。相反,利用突出内容神经网络,深度突出对象分割系统可以选择在数字图像中描绘的任意对象(即,对应于无限数量的对象类别的对象)。因此,深度突出对象分割系统可以改进传统系统的灵活性。

另外,在一个或多个实施例中,深度突出对象分割还改进了计算效率。深度突出对象分割系统可以训练和利用比传统分类模型小得多且较少计算密集度的一个或多个突出内容神经网络。通过训练高效分割前景像素(而不是分类和分割分类对象)的突出内容神经网络,深度突出对象分割系统需要较少的存储器和处理资源。

实际上,作为这种改进的计算效率的结果,深度突出对象分割系统也可以更灵活地部署在各种计算设备上。例如,如上所述,深度突出对象分割系统可以将一个或多个突出内容神经网络直接应用于具有有限存储器和处理能力的移动设备(例如智能手机或平板计算机)。因此,尽管传统系统通常需要高功率服务器或其他计算设备来操作,但是深度突出对象分割系统可以允许移动设备标识和分割在数字图像中描绘的对象。

此外,在一个或多个实施例中,深度突出对象分割系统在比传统系统更广泛的应用中标识数字图像中的对象。例如,经训练的突出内容神经网络可以利用移动设备不仅分割静态数字图像中的对象,而且可以直接在移动设备上执行数字视觉媒体馈送中的实时分割。因此,所公开的系统通过利用能够在移动设备的有限计算资源上操作的突出内容神经网络,直接在移动设备上提供静态和实时数字视觉媒体两者中的对象的准确选择。

此外,深度突出对象分割系统可以在不牺牲准确度和/或处理速度的情况下提供这些益处。例如,与需要跟踪数字图像中描绘的对象的传统系统不同,深度突出对象分割系统可以准确且自动地实时标识数字图像中描绘的对象。实际上,如上所述,在一些实施例中,深度突出对象分割系统可以直接在移动设备上利用突出对象神经网络以大于96%iou精度来标识对象像素。

如上所述,在一个或多个实施例中,深度突出对象分割系统训练一个或多个突出内容神经网络以从数字视觉媒体中的背景像素分割前景像素。具体地,在一个或多个实施例中,深度突出对象分割系统利用训练数字图像的储存库来训练突出内容神经网络。例如,深度突出对象分割系统可以将一个或多个突出内容神经网络应用于训练数字图像的数据集以生成预测的掩模(即,前景像素的预测)。然后,深度突出对象分割系统可以通过将预测的掩模与用于训练数字图像的真相掩模进行比较来训练突出内容神经网络。

此外,如上所述,在一个或多个实施例中,深度突出物体分割系统可以将一个或多个突出内容神经网络部署到移动设备。例如,在一些实施例中,深度突出对象分割系统生成两个突出内容神经网络:用于分析静态数字图像的静态突出内容神经网络和用于分析实时数字视觉媒体馈送的实时突出内容神经网络。为了说明,在一个或多个实施例中,深度突出对象分割系统可以生成相对于实时突出内容神经网络具有更多存储器和/或处理能力(但也更高精度)的静态突出内容神经网络。深度突出对象分割系统可以将静态突出内容神经网络和实时突出内容神经网络都部署到移动设备。

例如,深度突出对象分割系统可以确定移动设备正在捕获实时数字视觉媒体馈送。响应于该确定,深度突出对象分割系统可以利用实时突出内容神经网络来分析实时数字视觉媒体馈送并动态地分割在实时数字视觉媒体馈送中描绘的对象。深度突出对象分割系统还可以确定移动设备已经捕获(或以其他方式显示)静态数字图像。响应于该确定,深度突出对象分割系统可以利用静态突出内容神经网络来分析静态数字图像和在静态数字图像的前景中描绘的分割对象。

除了在数字视觉媒体内选择对象之外,深度突出对象分割系统还可以基于所标识的对象将修改应用于数字视觉媒体。例如,深度突出对象分割系统可以将一个或多个样式或过滤器应用于所选对象(即前景像素)。以这种方式,深度突出对象分割系统使得用户能够快速、容易、准确地和独立地直接在移动设备上选择和风格化在数字视觉媒体中描绘的对象(例如,实时数字视觉媒体馈送和/或静态数字图像)。

此外,在一个或多个实施例中,深度突出对象分割系统还通过训练来自经训练的对象分类神经网络的突出内容神经网络来改进准确性和效率。例如,深度突出对象分割系统可以访问经训练的对象分类神经网络并执行网络诊断。为了说明,深度突出对象分割系统可以访问具有一个或多个对象分类通道和背景分类通道的经训练的对象分类神经网络。深度突出对象分割系统可以利用一个或多个对象分类通道和背景分类通道来标识突出内容神经网络的初始化参数。研究人员发现,这种方案可以导致针对突出内容神经网络的更快训练和更大的结果准确度。

除了初始化参数之外,在对经训练的对象分类神经网络进行网络诊断时,深度突出对象分割系统还可以确定其他优化参数,以改进训练突出内容神经网络的效率和准确度。例如,在一个或多个实施例中,深度突出对象分割系统利用优化突出内容神经网络来确定优化参数(例如,权重衰减参数、迭代参数或初始化参数)。然后,深度突出对象分割系统可以在训练实时突出内容神经网络和/或静态突出内容神经网络时应用所确定的优化参数。

如前面的讨论所图示的,本公开利用各种术语来描述深度突出对象分割系统的特征和优点。现在提供关于这些术语的含义的其他细节。如本文所使用的,术语“神经网络”是指机器学习模型,其可以基于训练输入来被调谐(例如,训练)到近似未知函数。具体地,术语“神经网络”可以包括互连数字神经元的模型,其传送并学习近似复杂函数并基于提供给模型的多个输入生成输出。例如,术语“神经网络”包括一个或多个机器学习算法。具体地,术语“神经网络”包括深度卷积神经网络(即“cnn”)和完全卷积神经网络(即“fcn”)。换句话说,神经网络是实现深度学习技术的算法,即利用算法集合来尝试对数据中的高级抽象进行建模的机器学习。

如本文所使用的,术语“突出内容神经网络”指的是用于标识数字图像中的突出内容的神经网络。具体地,术语“突出内容神经网络”包括被训练以分割数字图像中的前景像素(例如,从背景像素分割前景像素)的神经网络。为了说明,突出内容神经网络可以生成反映数字图像中的突出对象的前景像素的掩模。例如,如下面更详细讨论的,“突出内容神经网络”包括训练成分割数字图像中的前景像素的deeplab神经网络、googlenet神经网络和/或densenet神经网络。

此外,如本文所使用的,术语“实时突出内容神经网络”是指用于分割在实时数字视觉媒体馈送中描绘的对象的突出内容神经网络。如下面更详细描述的,在一个或多个实施例中,深度突出对象分割系统利用修改的densenet神经网络作为实时突出内容神经网络。

此外,如本文所使用的,术语“数字视觉媒体”是指能够产生视觉表示的任意数字项目。例如,术语“数字视觉媒体”包括数字图像和数字视频。如本文所使用的,术语“数字图像”是指任意数字符号、图片、图标或图示。例如,术语“数字图像”包括具有以下文件扩展名的数字文件:jpg、tiff、bmp、png、raw或pdf。

另外,如本文所使用的,术语“实时数字视觉媒体馈送”是指数字视觉媒体流。具体地,术语“实时数字视觉媒体馈送”包括由相机捕获的数字图像流(例如,由相机捕获的数字视频)。例如,在一个或多个实施例中,实时数字视觉媒体馈送可以包括在移动设备的显示屏上显示的、来自移动设备上的相机的数字视频(例如,在相机拍摄数字视频时同时或几乎同时被显示)。此外,术语“实时数字视觉媒体馈送”还包括在不利用移动设备的相机(即,流式视频文件)的情况下在移动设备上可用的数字图像流。

另外,如本文所使用的,术语“静态突出内容神经网络”是指用于分割静态数字图像中描绘的对象的突出内容神经网络。具体地,静态突出内容神经网络包括被应用于数字图像的突出内容神经网络,该数字图像当前未作为实时数字视觉媒体馈送的一部分被流式传输到显示器。如下面更详细描述的,在一个或多个实施例中,深度突出对象分割系统利用googlenet作为静态突出内容神经网络。

此外,如本文所使用的,术语“静态数字图像”(“数字图像”或“捕获的数字图像”)是指任意数字符号、图片、图标或视觉图示。具体地,术语静态数字图像(数字图像或捕获的数字图像)是指由移动设备捕获并随后由深度突出对象分割系统分析的数字图像。例如,静态数字图像包括具有以下文件扩展名的数字文件:jpg、tiff、bmp、png、raw或pdf。此外,术语静态数字图像(或捕获的数字图像)可以包括其后处理阶段中的任意数字视觉媒体。术语静态数字图像可以包括从数字视频捕获和处理的数字图像或存储在任意计算设备上的数字视频(即,不是实时数字视觉媒体馈送)。具体地,术语静态数字图像包括在移动设备上捕获的视频文件。此外,术语静态数字图像可以包括后处理阶段中的图像/视频文件,诸如用户可以细化捕获的图像/视频或将图像/视频上载到另一个源(即,应用)的阶段。类似地,术语静态数字图像可以包括上传到应用(例如,在移动设备和/或服务器上)的图像/视频。

另外,如本文所使用的,术语“前景像素”是指描绘数字图像中的突出对象的像素。具体地,术语“前景像素”包括反映区域或场景中的可测量区别的对象的像素(例如,在数字图像中描绘的场景)。具体地,前景像素包括反映具有区别感知特征(例如,颜色、焦点、深度和/或位置)的对象的像素,其使得项目与数字图像(例如,突出对象)中的背景像素可测量地不同。例如,在数字肖像(或“自拍”)中,前景像素包括在数字肖像中描绘人物的那些像素(而背景像素包括那些不是前景像素并且不在数字肖像中描绘人物的像素)。

此外,如本文所使用的,术语“掩模”是指反映数字图像中的所选像素(例如,前景像素)的数字项。例如,术语“掩模”包括边界、矩阵、阵列、索引、数字文件或反映在数字图像中描绘的前景像素(即,突出对象)的其他像素集合。另外,如本文所使用的,术语“真相掩模”包括反映在数字图像中描绘的对象的已知像素集的掩模。类似地,“预测掩模”包括由突出内容神经网络预测(或生成)的前景像素(即,突出对象)的掩模。

如本文所使用的,修改器“训练”(例如,如在训练数字图像或其他训练数据中所使用的)指示用于训练神经网络的任意对象或信息。因此,例如,“训练数字图像”指的是用于训练神经网络的任意数字图像。例如,在一个或多个实施例中,术语“训练数字图像”包括深度突出对象分割系统提供给神经网络以训练神经网络来预测前景像素的数字图像。例如,训练数字图像可以包括描绘人或宠物的数字图像,深度突出对象分割系统经由突出内容神经网络分析人或宠物以生成用于训练突出内容神经网络的预测的前景像素集合。

如本文所使用的,术语“移动设备”是指便携式计算设备。具体地,“移动设备”包括设计用于在用户与移动设备一起移动时进行例行操作的计算设备。例如,在一个或多个实施例中,移动设备包括智能手机或平板计算机。移动设备还包括便携式设备,其没有设计用于运行神经网络的硬件。

另外,如本文所使用的,术语“对象分类神经网络”指的是被训练以对在数字视觉媒体中描绘的对象进行分类的神经网络。例如,对象分类神经网络包括被训练以对数字视觉媒体中的对象进行分类并基于其分类来选择分类对象的神经网络。例如,对象分类神经网络包括被训练以标识多个个体对象和背景的神经网络(即,人物分类、宠物分类、车辆分类和背景分类)。

此外,如本文所使用的,术语“对象分类通道”是指与对象分类神经网络相关联的参数,其用于分类和/或标识数字视觉媒体中的对象。例如,在一个或多个实施例中,对象分类通道可以包括参数,诸如权重,其辅助经训练的对象分类神经网络准确地分类和/或识别特定对象。例如,在一个或多个实施例中,对象分类通道可以包括人物分类通道,其包含有助于准确识别数字视觉媒体中的人的参数。

现在转向图1,将提供关于用于实现深度突出对象分割系统的环境的附加细节。具体地,图1图示了其中深度突出物体分割系统110可以操作的示例性环境100的一个实施例的示意图。在一个或多个实施例中,环境100包括经由网络106连接到多个客户端设备104a-104n的服务器102。客户端设备104a-104n、网络106和服务器102可以使用各种通信技术彼此或与其他组件通信。实际上,网络106可以是通过其客户端设备104a-104n可以访问服务器102或反之亦然的任意合适的网络。下面将参考图10更详细地讨论网络106。

如图1中所图示的,环境100可以包括客户端设备104a-104n。客户端设备104a-104n可以包括任意计算设备,包括下面关于图10描述的计算设备。例如,客户端设备104a-104n可以包括一个或多个移动设备,包括移动电话或平板计算机。尽管关于图1呈现了三个客户端设备,但是应当理解,客户端设备104a-104n可以包括任意数目的客户端设备(比所示多或少)。

另外,环境100还可以包括服务器102。服务器102可以生成、存储、接收和发送任意类型的数据,包括例如:训练图像储存库、一个或更多神经网络和/或数字图像数据。例如,服务器102可以从诸如客户端设备104a的客户端设备接收数据,并将数据发送到诸如客户端设备104b和/或104n的另一客户端设备。在一个示例实施例中,服务器102是数据服务器。服务器102还可以包括通信服务器或web托管服务器。关于服务器102的附加细节将在下面参考图10进行讨论。

如图1所示,在一个或多个实施例中,服务器102可以包括数字视觉媒体修改系统108,其还实现深度突出对象分割系统110的至少一部分。数字视觉媒体修改系统108可以存储一个或多个数字视觉媒体项并修改一个或多个数字视觉媒体项。此外,数字视觉媒体修改系统108可以包括允许客户端设备104a-104n的用户存储和/或修改数字视觉媒体的软件和/或硬件工具。

此外,如图1所示,数字视觉媒体修改系统108可以包括深度突出对象分割系统110。深度突出对象分割系统110可以包括在服务器102上运行的应用或深度突出对象分割系统110的一部分可以从服务器102下载。例如,深度突出对象分割系统110可以包括允许客户端设备104a-104n与托管在服务器102上的内容交互的网络托管应用。

如上所述,深度突出对象分割系统110可以生成一个或多个突出内容神经网络,并将一个或多个突出内容神经网络提供给移动设备。作为示例,在一个或多个实施例中,深度突出对象分割系统110利用服务器102来生成经训练的突出内容神经网络,诸如实时突出内容神经网络或静态突出内容神经网络。例如,深度突出对象分割系统110可以访问具有数字训练图像和对应的真相掩模的训练图像库。然后,深度突出对象分割系统110可以利用数字训练图像和相应的真相掩模来训练实时突出内容神经网络和静态突出内容神经网络。具体地,深度突出对象分割系统110可以训练实时突出内容神经网络和静态突出内容神经网络,以标识新数字图像中的突出对象(例如,前景和背景像素)。下面提供关于训练实时突出内容神经网络和静态突出内容神经网络的附加细节(例如,关于图2、3、5和6)。

在训练一个或多个突出内容神经网络之后,深度突出对象分割系统110然后可以利用服务器102将一个或多个神经网络提供给客户端设备104a(和/或客户端设备104b-104n)。例如,深度突出对象分割系统110可以向客户端设备104a(即,移动设备)提供实时突出内容神经网络和/或静态突出内容神经网络,作为在客户端设备104a上安装的数字图像编辑应用的一部分。然后,深度突出对象分割系统110可以利用客户端设备104a(和数字图像编辑应用)来应用实时突出内容神经网络和/或静态突出内容神经网络。

例如,深度突出对象分割系统110可以利用客户端设备104a来捕获实时数字视觉媒体馈送(例如,来自智能手机相机的实况视频馈送)。然后,深度突出对象分割系统110可以将实时突出内容神经网络应用于客户端设备104a处的实时数字视觉媒体馈送,以标识并提供实时数字视觉媒体馈送中的突出对象用于显示。深度突出物体分割系统110还可以经由客户端设备104a捕获静态数字图像(例如,来自实时数字视觉媒体馈送的数字图像)并将静态突出内容神经网络应用于静态数字图像。以这种方式,深度突出对象分割系统110可以标识并提供数字图像中的突出对象用于显示。

在标识数字视觉媒体中的一个或多个突出对象时,深度突出对象分割系统110还可以修改数字视觉媒体。例如,深度突出对象分割系统110可以标识突出对象并基于附加用户输入来移动、复制、粘贴或删除所选择的突出对象。

如刚才所述,深度突出对象分割系统110可以全部或部分地由环境100的各个元素102-106实现。应当理解,尽管深度突出对象分割系统110的某些组件在关于环境100的特定元件的先前示例中被描述,各种替代实现是可能的。例如,在一个或多个实施例中,深度突出对象分割系统110在客户端设备104a上实现。类似地,在一个或多个实施例中,深度突出对象分割系统110可以在服务器102上实现。此外,深度突出对象分割系统110的不同组件和功能可以在客户端设备104a-104n、服务器102和网络106中被分离地实现。

如上所述,深度突出对象分割系统110可以训练一个或多个突出内容神经网络以选择数字视觉媒体中的突出对象。例如,图2图示了根据一个或多个实施例的生成经训练的突出内容神经网络的深度突出对象分割系统110。具体地,关于图2a,深度突出物体分割系统110利用训练图像储存库202、预测掩模208和损失函数212来训练突出内容神经网络206以生成经训练的突出内容神经网络216。

更具体地,如图2a所示,深度突出对象分割系统110从训练图像储存库202获得和/或标识训练数字视觉媒体项目。训练图像储存库202可包括数字视觉媒体项的任意组或集合。例如,在一个或多个实施例中,训练图像储存库202包括存储在远程服务器上的数字图像的储存库。例如,在一个或多个实施例中,训练图像储存库202包括flickrhumans&pets数据集(即,描绘人类和/或宠物的数字图像)、flickrportrait数据集(即描绘人类肖像的数字图像),mscoco人物数据集、dut-omron数据集、msra10k数据集、pascal前景数据集(例如,描绘各种对象的数字图像)和/或pascalvoc数据集(例如,描绘20种不同类别的对象的数字图像)。

关于图2a,训练图像储存库202中的数字视觉媒体还对应于真相掩模210。具体地,训练图像储存库202包括用于每个训练数字视觉媒体项的真相掩模,其中真相掩模定义与突出对象相对应的像素。例如,训练图像储存库202可以包括真相掩模210,其中真相掩模210中的每一个定义训练图像储存库202中的训练数字图像中的前景像素(和/或背景像素)。

如图2a所示,深度突出对象分割系统110还可以利用优化参数204来训练突出内容神经网络206。具体地,优化参数204包括影响用于训练突出内容神经网络206的时间、速度、准确度、和/或处理能力的可调节变量。例如,在一个或多个实施例中,优化参数204包括初始化参数(例如,用于神经网络的各种特征或特性的初始化权重)、权重衰减参数(例如,用于在训练突出内容神经网络206时补偿过度拟合的变量)、或迭代参数(例如,在训练突出内容神经网络206时要执行的迭代次数)。此外,在一个或多个实施例中,深度突出对象分割系统110可以通过执行网络诊断来标识优化参数204(下面在图5-6中讨论)。

此外,如图2a所示,深度突出对象分割系统110利用训练图像储存库202和优化参数204来训练突出内容神经网络206。具体地,深度突出对象分割系统110可以利用突出内容神经网络206用于预测来自训练图像储存库202训练数字视觉媒体的前景像素(和/或背景像素)。具体地,如图2a所示,深度突出对象分割系统110利用突出内容神经网络网络206来生成来自训练图像储存库202的训练数字图像的预测掩模208(例如,训练数字图像的预测前景像素的掩模)。

在一个或多个实施例中,突出内容神经网络206利用来自训练图像储存库202的训练数字图像、优化参数204和预测的掩模208来学习以标识数字视觉媒体的前景中的突出对象。具体地,深度突出对象分割系统110将预测的掩模208与真相掩模210进行比较。例如,如图2a所图示,深度突出对象分割系统110利用生成计算的损失214的损失函数212来将预测的掩模208和真相掩模210进行比较。具体地,损失函数212可以确定真相掩模210和预测的掩模208之间的差异(例如,预测的掩模208中的像素被不正确地标识为相对于底部真相掩模210的前景和/或背景像素)。

此外,如图2a所示,突出内容神经网络206然后利用计算的损失214来学习以更准确地预测掩模(例如,突出对象)。具体地,深度突出对象分割系统110利用计算的损失214并将该信息提供给突出内容神经网络206,以便调整突出内容神经网络206的参数。具体地,深度突出对象分割系统110可以修改突出内容神经网络206的参数以最小化计算的损失214并预测更准确地反映真相的掩模。在一个或多个实施例中,深度突出对象分割系统110重复地生成预测的掩模(即,根据优化参数204)并且修改突出内容神经网络206的参数以生成经训练的突出内容神经网络216。

尽管图2a图示了单个突出内容神经网络206,但是深度突出对象分割系统110可以训练多个神经网络。例如,在一个或多个实施例中,突出内容神经网络206可以包括实时突出内容神经网络和静态突出内容神经网络两者。具体地,在一个或多个实施例中,突出内容神经网络206可以包括googlenet神经网络(即,googlenet神经网络的修改版本)和/或densenet神经网络(即,densenet神经网络的修改版本)。

实际上,图2b-2e图示了根据一个或多个实施例的由深度突出对象分割系统110利用的突出内容神经网络的示例性架构。具体地,图2b-2c图示了示例性实时突出内容神经网络(例如,修改的densenet神经网络),并且图2d-2e图示了静态突出内容神经网络(例如,修改的googlenet神经网络)的示例性架构。

如刚才提到的,在一个或多个实施例中,深度突出对象分割系统110利用修改的densenet神经网络作为实时突出内容神经网络。如本文所使用的,densenet神经网络指的是将多个层与未来层连接的卷积神经网络。具体地,densenet包括神经网络架构,其将所有层(具有匹配的特征图大小)彼此直接连接。换句话说,densenet包括一种架构,该架构从前面的层获得输入并将其自己的特征图传递给后续层。在一些实例中,densenet架构针对密集块内的所有卷积层连接卷积层(即,从先前的卷积层获得输入)。densenet架构可以包括这些密集块中的一个或多个。实际上,在一个或多个实施例中,深度突出对象分割系统110利用densenet神经网络,如gaohuang,zhuangliu,kilianq.weinberger和laurensv.d.maaten,在denselyconnectedconvolutionalnetworks,computerresearchrepository1608.06993,http://arxiv.org/abs/1608.06993(2016)中所描述的,其通过引用被并入本文。

更具体地,图2b、2c图示了根据深度突出对象分割系统110的一个或多个实施例的用于实时突出内容神经网络250的修改的densenet神经网络的示例性架构。如所示出的,实时突出内容神经网络250包括多个层。具体地,实时突出内容神经网络250包括卷积层、池化层、卷积块218a-218q、级联层和去卷积层。此外,卷积块218a-218q每个包括卷积层(例如,卷积层220a-22b和级联层),如图2b所示。

在图2b、2c中,卷积层、池化层、卷积块218a-218q、级联层和去卷积层可以接收输入(即,特征图)并且还可以提供输出(即,特征图)。在一个或多个实施例中,每个层(例如,卷积层的每一个)被连接到后续层(例如,每个卷积层的输出被提供给实时突出内容神经网络250中的所有后续卷积层)。在其他实施例中,深度突出对象分割系统110将卷积层的输出提供给特定密集块内的其他卷积层。例如,深度突出对象分割系统110可以利用作为第一密集块的将卷积块218a-218b,作为第二密集块的卷积块218c-f,以及作为第三密集块的卷积块218g-218n。因此,深度突出对象分割系统110可以将每个密集块内的每个层的输出提供给密集块内的后续层。

如上所述,实时突出内容神经网络可以比传统神经网络需要更少的存储、时间和计算资源。例如,在一个或多个实施例中,实时突出内容神经网络250的大小约为7m,每个图像的运行时间为60-70ms。深度突出对象分割系统110可以利用实时突出内容神经网络的更快运行时间来标识实时数字视觉媒体馈送中的对象而不损害准确性。例如,实时突出内容神经网络250能够在flickr-hp数据集上以90.37%iou分割数字图像中的前景像素。

如上所述,深度突出物体分割系统110还可以利用第二突出内容神经网络。具体地,深度突出对象分割系统110可以利用实时突出内容神经网络来分析实时数字视觉媒体馈送并利用静态突出内容神经网络用于静态数字图像(例如,以细化从实时数字视觉媒体馈送捕获的静态数字图像)。在一个或多个实施例中,深度突出物体分割系统110利用修改的googlenet神经网络作为静态突出内容神经网络。

如本文所使用的,googlenet是指利用多个初始模块的神经网络。具体地,googlenet包括利用多个初始模型的神经网络,所述初始模型级联由不同大小的过滤器产生的特征图。例如,googlenet利用包括不同过滤器大小的卷积层的初始模块。初始模块可以应用维度减少和投影来控制计算要求。例如,在一个或多个实施例中,深度突出对象分割系统110利用googlenet神经网络,如c.szegedy,w.liu,y.q.jia,p.sermanet,s.reed,d.anguelov,d.erhan,v.vanhoucke,和a.rabinovich在goingdeeperwithconvolutions,computerresearchrepository1409.4842(2015)中所描述的,其通过引用被并入本文。

更具体地,图2d、2e图示了根据深度突出物体分割系统110的一个或多个实施例的用于静态突出内容神经网络260的修改的googlenet神经网络的示例性架构。如图所示,静态突出内容神经网络260包括多个初始块224a-224l。此外,静态突出内容神经网络260包括卷积层(7×7)、池化层(3×3)、卷积层(3×3)、初始块224a-224l、去卷积层、级联层和卷积块226a-226c。如图2d中所图示,初始块224a-224l各自包括附加的初始层228-234和初始池化层236。在一些实施例中,初始块224a-224l中的一个或多个可以不包括初始池化层236。在一个或多个实施例中,初始块224a-224l内的初始层228-234是卷积层。

此外,图2d、2e还包括卷积块226a-226c。如上所述,卷积块可以接收输入并且通过两个卷积层238a-238b然后是串联层240并且还直接通过级联层240传递输入。

如上所述,深度突出对象分割系统110可以生成静态突出内容神经网络,该静态突出内容神经网络与传统的对象分割神经网络或其他神经网络相比,需要较少的时间来处理和分割数字图像中的前景像素。然而,在一些实施例中,与实时突出内容神经网络相比,静态突出内容神经网络可能需要更多时间来处理和分割数字图像中的前景像素。因此,在一个或多个实施例中,与静态突出内容神经网络相比,实时突出内容神经网络可以具有更快的处理速度(即,以更少的时间标识数字视觉媒体中的突出对象的能力)。例如,在一个或多个实施例中,突出内容神经网络的大小约为40m,其中每个图像的运行时间为250-300ms。修改的googlenet神经网络的每个图像的250-300ms的运行时间被用于分割数字图像中的前景像素而不影响准确性。例如,修改的googlenet神经网络能够在flickr-hp数据集上以91.9%的iou分割数字图像中的前景像素。

如关于图2b-2e所建立的,深度突出对象分割系统110可以修改densenet和/或googlenet架构以生成突出内容神经网络。例如,在一个或多个实施例中,深度突出对象分割系统110减少了架构中的层数,以减少应用实时突出内容神经网络所需的存储、处理能力和时间。类似地,在一个或多个实施例中,深度突出对象分割系统110还减小输入大小和网络参数以最小化存储、处理能力和时间。

为了说明,在一个或多个实施例中,深度突出对象分割系统110在生成用于突出内容神经网络的架构时联合考虑层的输入大小和每层中的神经网络参数的数目。具体地,深度突出对象分割系统110可以减少具有大的输入大小的层中的参数的数目,并且增加具有较小输入大小的层中的参数的数目。

例如,在突出内容神经网络(例如,静态突出内容神经网络)的第一层中,数字图像大小可以是224×224×3。因为在这种情况下的空间分辨率相对较大,所以深度突出对象分割系统110可以减少第一神经网络层中的参数(例如,将卷积层中的通道数目减少到三个)。然而,在神经网络中应用附加层之后,输入的专用大小变得更小。例如,在一些神经网络层的应用之后,输入的空间大小可以减小到原始大小的四分之一(例如,56×56)。随着专用尺寸减小,深度突出物体分割系统110可以增加神经网络的参数(例如,增加到48个通道,导致尺寸为56×56×48)。

如上所述,在训练一个或多个突出内容神经网络时,深度突出对象分割系统110可以将一个或多个经训练的突出内容神经网络提供给移动设备。具体地,深度突出对象分割系统110可以向移动设备提供经训练的突出内容神经网络(即,诸如关于图2a-2e的描述中的那些),并将经训练的突出内容神经网络应用于由移动设备捕获的数字视觉媒体。例如,图3图示了由深度突出对象分割系统110执行的动作302-320的示例性序列,用于在移动设备300处利用实时突出内容神经网络和静态突出内容神经网络来标识数字视觉媒体中的对象。

具体地,图3图示了深度突出对象分割系统110,其利用移动设备300来执行捕获实时数字视觉媒体馈送的动作302。如上所述,动作302可以包括深度突出对象分割系统110,其利用智能手机的数字相机来捕获数字视频(或访问存储在移动设备300上的数字视频流)。此外,动作302可以包括提供数字视频用于经由移动设备的显示屏显示。

此外,如图3所示,深度突出对象分割系统110还利用移动设备300来执行将实时突出内容神经网络应用于实时数字视觉媒体馈送的动作304。具体地,动作304可以包括将实时突出内容神经网络应用于实时数字视觉媒体馈送以标识实时数字视觉媒体馈送中的对象。实际上,如图2所描述的,深度突出对象分割系统110可以训练实时突出内容神经网络来预测突出对象,然后将实时突出内容神经网络应用于在移动设备300处捕获的实时数字视觉媒体馈送的数字图像,以标识在实时数字视觉媒体馈送中描绘的对象。

在标识实时数字视觉媒体馈送中的一个或多个对象之后,深度突出对象分割系统110还执行提供分割的实时数字视觉媒体馈送用于在移动设备上(例如,经由下面图4中更详细描述的图形用户界面)显示的动作308。例如,深度突出对象分割系统110可以修改实时数字视觉媒体馈送以强调数字视觉媒体馈送中的对象。为了说明,深度突出对象分割系统110可以突出显示在数字视觉媒体馈送中描绘的个体,并提供突出显示的个体以用于作为实时数字视觉媒体馈送的一部分进行显示。类似地,深度突出对象分割系统110可以将过滤器应用于在数字视觉媒体馈送中描绘的对象,并提供经过滤的对象用于作为数字视觉媒体馈送的一部分进行显示。

此外,如图所示,移动设备可以连续地(即,在循环中)捕获实时数字视觉媒体馈送(动作302),将实时突出内容神经网络应用于实时数字视觉媒体馈送(动作304),标识实时数字视觉馈送中的对象(动作306),并提供分割的实时数字视觉媒体馈送用于显示(动作308)。尽管图3图示了移动设备300迭代地执行动作302-308,但是在一个或多个实施例中,用户将元素302-308感知为在移动设备300上同时或几乎同时发生。

深度突出对象分割系统110(经由移动设备300)可以连续地重复元素302至308,直到检测到用户与数字视觉媒体馈送的交互。例如,移动设备330可以从实时数字视觉媒体馈送中检测用户对数字图像的选择310(例如,通过捕获按钮的用户选择)。当移动设备从实时数字视觉媒体馈送检测到数字图像的用户选择310时,图3中的移动设备可以停止执行元素302-308。

此外,如图3所示,深度突出对象分割系统110还可以利用移动设备300来执行将静态突出内容神经网络应用于数字图像的动作312。具体地,在一个或多个实施例中,深度突出对象分割系统110在移动设备300检测到数字图像的用户选择(在动作310处)之后执行动作312。因此,深度突出对象分割系统110可以应用静态突出内容神经网络来细化从实时数字视觉媒体馈送捕获的数字图像中的标识的对象。

在利用静态突出内容神经网络对数字图像中的对象进行分割之后,深度突出对象分割系统110还执行提供分割的数字图像用于在移动显示器300上显示的动作316。深度突出对象分割系统110可以提供分割的数字图像用于经由移动设备上的各种图形用户界面显示(在下面的图4中更详细地描述的)。此外,在一个或多个实施例中,移动设备300可以停止以提供分割的数字图像用于显示316并且返回以捕获实时数字视觉媒体馈送(例如,返回到动作302并且执行动作302-316)。

在一个或多个实施例中,在移动设备300提供分割数字图像用于显示316之后,深度突出对象分割系统110可以执行修改分割数字图像的动作318。具体地,深度突出对象分割系统110可以基于在数字图像中标识的对象来修改分割的数字图像318。例如,深度突出对象分割系统110可以利用移动设备300来修改在数字图像中标识的对象的亮度、颜色、对比度、大小或方向。类似地,深度突出物体分割系统110可以剪切数字图像中标识的物体并经过所述对象到第二数字图像。

此外,在一个或多个实施例中,深度突出对象分割系统110可以执行存储修改的数字图像的动作320。在一个或多个实施例中,深度突出对象分割系统110将修改的数字图像存储在移动设备300上。深度突出对象分割系统110还可以将修改的数字图像存储在远程服务器(例如,服务器102)上。

关于图3描述的动作302-320旨在说明根据本公开的示例性动作序列,并且不旨在限制潜在的实施例。替代实施例可以包括比图3中所表达的那些附加的、更少的或不同的动作。例如,在一些实施例中,动作304和306被组合成单个动作(和/或动作312和314被组合成单个动作)。类似地,尽管未在图3中图示,但是在一个或多个实施例中,深度突出物体分割系统110可以修改分割的实时数字视觉媒体馈送(类似于在动作318处修改分割的数字图像)。此外,在一个或多个实施例中,深度突出对象分割系统110可以存储修改的实时数字视觉媒体馈送(类似于在动作320中存储修改的数字图像)。具体地,在一个或多个实施例中,修改的实时数字视觉媒体馈送可以存储为视频文件。

另外,本文描述的动作可以以不同的顺序执行、可以彼此并行地重复或执行,或者可以与相同或类似动作的不同实例并行执行。例如,在一个或多个实施例中,移动设备300可以执行动作310-320而不执行动作302-308。此外,在一个或多个实施例中,深度突出对象分割系统110可以执行动作302-308而不执行动作312-320。此外,在一个或多个实施例中,深度突出对象分割系统110可以执行动作302、310、314-320而不执行动作304-308。

另外,在一个或多个实施例中,深度突出对象分割系统110可以将实时突出内容神经网络和/或静态突出内容神经网络应用于已经存储在移动设备300中的数字视觉媒体(例如,数字视频和/或数字图像)。例如,在一个或多个实施例中,深度突出对象分割系统110可以检测移动设备300上的数字视频的用户选择,标识数字视频中的对象(例如,利用实时突出内容神经网络和/或静态突出内容神经网络),并基于所标识的对象修改数字视频。类似地,深度突出对象分割系统110可以检测用户对移动设备330上的数字图像的选择,标识数字图像中的对象(例如,利用静态突出内容神经网络),并基于标识的对象来修改数字图像。此外,在一个或多个实施例中,深度突出对象分割系统110可以将实时突出内容神经网络和/或静态突出内容神经网络应用于移动设备300上的视频呼叫。例如,在一个或多个在更多实施例中,深度突出对象分割系统110可以检测移动设备300上的视频呼叫(即,实时数字视觉媒体馈送),标识视频呼叫中的对象(例如,利用实时突出内容神经网络和/或静态突出内容神经网络),并基于所标识的对象来修改视频呼叫。

如上所述,深度突出对象分割系统110可利用实时突出内容神经网络和静态突出内容神经网络来直接在移动设备上标识数字视觉媒体中的对象并经由用户界面呈现用于显示的经修改的数字视觉媒体。例如,图4a-4b图示了根据一个或多个实施例的用于显示修改的数字视觉媒体的用户界面。

具体地,图4a图示了具有显示器402的移动设备400,显示器402包括用户界面404。如图4a所示,用户界面404包括数字视觉媒体显示元素406。数字视觉媒体显示元素406可以显示数字视频和/或数字图像,包括实时数字视觉媒体馈送。例如,在图4a中,数字视觉媒体显示元素406图示了由固定到移动设备400的相机捕获的实时数字视觉媒体馈送412。

另外,如图4a所图示的,深度突出对象分割系统110还包括可选元素408a(用于标识和/或修改数字视觉媒体中的对象)、408b(用于访问存储在移动设备300和/或远程服务器上的数字视觉媒体)、408c(用于修改相机闪光)和408d(用于修改用于捕获数字视觉媒体的相机,例如,在前置和后置相机之间)。用户界面404还包括捕获元件410(例如,用于存储和/或保存数字视觉媒体,诸如数字视频或数字图像)。

基于用户与可选元素408a的交互,深度突出对象分割系统110可以提供附加选项用于标识和/或修改数字视觉媒体中的对象。例如,图4b图示了在可选元素408a的选择时的用户界面404。如图所示,用户界面404包括多个修改元件414a-414f。在选择一个或多个修改元件414a-414f时,深度突出物体分割系统110可以提供用于修改数字视觉媒体项的其他更详细的选项。例如,在修改元素414c的选择时,深度突出对象分割系统110可以提供特定修改选项用于修改背景像素以看起来像特定位置(例如,用于改变背景像素以看起来像海滩、体育场、或学校的不同可选选项)。

在修改元件414a-414f(或其他更具体的修改选项)之一的选择之后,深度突出对象分割系统110可以标识数字视觉媒体项内的对象并修改数字视觉媒体项。为了说明,在选择可选择元素414f(标题为“轮廓”)时,深度突出对象分割系统110可以标识在实时数字视觉媒体馈送412中描绘的突出对象并且修改数字视觉媒体馈送412以将轮廓加入已标识的对象。

例如,图4c图示了三个视图416a-416c中显示实时数字视觉媒体馈送412的用户界面404,其中轮廓围绕实时数字视觉媒体馈送412中描绘的个体。如在图4c中所示的,深度突出对象分割系统110应用实时突出内容神经网络418来识别在实时数字视觉媒体馈送412中描绘的人。此外,深度突出对象分割系统110修改实时数字视觉媒体馈送412以提供所标识的人周围的轮廓(即,虚线边界线)。

此外,视图416b和416c图示了深度突出对象分割系统110随时间提供实时数字视觉媒体馈送412中的轮廓(例如,当附接到移动设备400的相机继续捕获数字视觉媒体时)。由移动设备400中的相机馈送捕获的人通过视图416a-416c改变位置。在视图416a-416c的每个帧中,深度突出对象分割系统110选择由相机馈送捕获的移动的人。具体地,深度突出对象分割系统110连续捕获实时数字视觉媒体馈送412,将实时突出内容神经网络应用于数字视觉媒体馈送以标识实时数字视觉媒体馈送412中的人,修改实时数字视觉媒体馈送412,并提供修改的实时数字视觉媒体馈送用于显示。

如上所述,深度突出对象分割系统110还可以捕获静态数字图像并将第二突出内容神经网络应用于静态数字图像。例如,关于图4c,深度突出对象分割系统110可以检测与捕获元件410的用户交互。作为响应,深度突出对象分割系统110可以从实时数字视觉媒体馈送412中捕获数字图像,将第二突出内容神经网络应用于数字图像。

实际上,图4d图示了由深度突出对象分割系统110捕获的数字图像422(即,响应于与捕获元件410的用户交互)。如图4d所示,深度突出物体分割系统110将静态突出内容神经网络420应用于数字图像422。通过应用静态突出内容神经网络420,深度突出物体分割系统110可以更具体地识别数字图像422中的物体(例如,细化来自实时突出内容神经网络418的初始标识)。

另外,如图4d所示,深度突出对象分割系统110还修改数字图像422。具体地,深度突出对象分割系统110将轮廓应用于数字图像中的所标识的人并提供经修改的数字图像用于显示。

尽管图4c-4d图示了通过应用对象的轮廓来修改数字视觉媒体的深度突出对象分割系统110,但是深度突出对象分割系统110可以对数字视频和/或数字图像应用各种不同的修改。实际上,深度突出对象分割系统110可以通过应用过滤器;应用叠加层;修改颜色、亮度或色调;或者替换像素(例如,替换所标识的对象或背景像素)来修改数字视觉媒体项(例如,修改所标识的对象和/或背景像素),而不是用于指示所标识的对象的虚线边界线。例如,深度突出对象分割系统110可以基于与修改元件414a-414f的用户交互(或其他更具体的修改选项)来修改数字视觉媒体。替代地,在一个或多个实施例中,深度突出物体分割系统110可以将修改自动地应用于数字视觉媒体。

在一个或多个实施例中,深度突出对象分割系统110可以在用户界面404中提供用于存储视图416a-416c的修改的实时数字视觉媒体馈送和视图416d的修改的数字图像(如图3所描述的)的选项。此外,在一个或多个实施例中,深度突出对象分割系统110可以利用用户界面404来显示(和修改)存储在移动设备400上的数字视频和/或数字图像。

如上所述,深度突出对象分割系统110可以访问经训练的对象分类神经网络并利用经训练的对象分类神经网络来训练突出内容神经网络。具体地,深度突出对象分割系统110可以利用来自经训练的对象分类神经网络的一个或多个分类通道(例如,对象分类通道)来训练突出内容神经网络。例如,图5图示了从经训练的对象分类神经网络502标识前景通道504和背景通道506,并利用前景通道504和背景通道506来标识用于训练突出内容神经网络512的初始化参数508。

如图5所示,深度突出对象分割系统110访问经训练的对象分类神经网络502。深度突出对象分割系统110可以利用各种不同的对象分类神经网络(例如,利用语义分割的神经网络)。在一个或多个实施例中,对象分类神经网络包括用于语义分割的艺术模型deeplabv2-resnet101(“deeplab神经网络”),如在l.c.chen,g.papandreou,i.kokkinos,k.murphy,和a.l.yuille在semanticimagesegmentationwithdeepconvolutionalnetsandfullyconnectedcrfs,computerresearchrepository1412.7062(2015)中所描述。

此外,在一个或多个实施例中,深度突出对象分割系统110生成经训练的对象分类神经网络502。例如,深度突出对象分割系统110可以利用具有对应分类标签和真相掩模的数字训练图像的储存库来生成经训练的对象分类神经网络502。具体地,深度突出对象分割系统110可以利用(未经训练的)对象分类神经网络来预测来自数字训练图像的分类和掩模,并将预测的分类和掩模与分类标签和真相掩模进行比较。然后,深度突出对象分割系统110可以通过基于比较来细化参数(例如,最小化损失函数)来生成经训练的对象分类神经网络502。

如上所述,经训练的对象分类神经网络502可以包括多个对象分类通道(即,用于经由经训练的对象分类神经网络502来对对象进行分类的输出通道)。具体地,在一个或多个实施例中,经训练的对象分类神经网络502可以包括对应于20帕斯卡voc类的分类通道(以及背景像素的分类通道)。因此,在一个或多个实施例中,经训练的对象分类神经网络利用21个对象分类通道。在其他实施例中,经训练的对象分类神经网络利用不同数目的分类通道(例如,80个通道)。

此外,在一个或多个实施例中,训练的对象分类通道可以比实时突出内容神经网络和/或静态突出内容神经网络更大(在存储器中)。具体地,deeplab神经网络的大小约为500m,由于存储器和处理能力的限制,无法轻松部署在移动设备上。然而,深度突出对象分割系统110可以利用deeplab神经网络来训练突出内容神经网络。实际上,如图5所示,深度突出对象分割系统110利用经训练的对象分类神经网络502来确定前景通道504和背景通道506。实际上,如刚刚提到的,在一个或多个实施例中,经训练的对象分类神经网络502包括21个对象分类通道。深度突出对象分割系统110可以利用对象分类通道之一(例如,人物输出通道)作为前景通道504。此外,深度突出对象分割系统110可以利用背景分类通道作为背景通道506。

此外,如图5所示,深度突出对象分割系统110可以利用前景通道504和背景通道506来标识初始化参数508。例如,深度突出对象分割系统110可以从前景信道504初始化突出内容神经网络512的前景权重。类似地,深度突出对象分割系统110可以从背景通道506初始化突出内容神经网络512的背景权重。

为了说明,研究人员已经发现:基于经训练的对象分类神经网络502的人物对象分类通道来初始化突出内容神经网络512的前景权重和/或基于经训练的对象分类神经网络502的背景分类通道来初始化突出内容神经网络512的背景权重可以使训练显著更快并且生成更准确的结果。

尽管前述示例讨论了利用来自经训练的对象分类神经网络502的人物对象分类通道,但是前景通道504可以包括来自经训练的对象分类神经网络502的任意对象分类通道。无论用于生成初始化参数508的对象分类通道的类型如何,深度突出对象分割系统110能够训练突出内容神经网络512以标识数字视觉媒体中的任意突出对象。

实际上,图5图示了利用来自训练图像储存库510的初始化参数508和数字训练图像,以便生成经训练的突出内容神经网络522。具体地(类似于图2中描述的过程),深度突出对象分割系统110利用突出内容神经网络512(具有初始化参数508)以从数字训练图像生成预测的掩模514。此外,如图5所示,深度突出对象分割系统110利用损失函数516来将预测的掩模514与数字训练图像的真相掩模518进行比较。损失函数516基于预测的掩模514和真相掩模518之间的比较来生成计算的损失520。然后,深度突出对象分割系统110可以基于计算的损失520来迭代地调整突出内容神经网络512的参数(例如,用于最小化计算的损失520)。

尽管图5图示了利用前景通道504和背景通道506两者,但是在一个或多个实施例中,深度突出对象分割系统110可以在没有背景通道506的情况下标识来自前景通道504的初始化参数508。此外,在一个或多个实施例中,深度突出物体分割系统110可以在没有前景通道504的情况下标识来自背景通道506的初始化参数508。

此外,尽管图5图示了利用经训练的对象分类神经网络502,但是深度突出对象分割系统110可以在图像分类任务上预训练任意神经网络。使用图像分类任务的预训练神经网络(例如,突出内容神经网络)帮助改进神经网络的性能。具体地,神经网络可以在被训练为突出内容神经网络(如图2中所描述的)之前使用图像分类来被预训练。在一个或多个实施例中,神经网络利用imagenet数据集和mscoco图像分割数据集在图像分类任务上被预训练。

如上所述,深度突出对象分割系统110还可以确定用于训练突出内容神经网络的其他优化参数(除了图5中的初始化参数508之外)。具体地,在一个或多个实施例中,深度突出对象分割系统110执行网络诊断以从突出内容神经网络中标识各种优化参数。例如,图6图示了深度突出对象分割系统110,其利用优化突出内容神经网络602来生成并提供优化参数604以训练后续突出内容神经网络。

优化突出内容神经网络602可包括用于执行网络诊断的任意神经网络。例如,在一个或多个实施例中,优化突出内容神经网络602包括被修改以仅预测前景和背景分类通道的deeplab神经网络。

在图6中,深度突出对象分割系统110利用优化突出内容神经网络602来确定优化参数604的集合。具体地,深度突出对象分割系统110可以修改各种参数,诸如权重衰减参数和/或迭代参数以确定哪些参数改进了优化突出内容神经网络602的速度和/或准确度。

另外,如图6所示,深度突出对象分割系统110在实时突出内容神经网络606和静态突出内容神经网络608中利用来自优化突出内容神经网络602的优化参数604。然后,深度突出对象分割系统110可以训练实时突出内容神经网络606(例如,根据图2)。此外,深度突出物体分割系统110可以训练静态突出内容神经网络608(例如,根据图2)。

此外,深度突出对象分割系统110将实时突出内容神经网络606和静态突出内容神经网络提供给移动设备610。实际上,如上所述,移动设备610可以利用实时突出内容神经网络606和/或静态突出内容神经网络608来分割来自数字视觉媒体的对象。

在一个或多个实施例中,深度突出对象分割系统110可以在训练实时突出内容神经网络606时利用优化参数604,而不在训练静态突出内容神经网络608时利用优化参数604。此外,在一个或多个实施例中,深度突出对象分割系统110可以在训练静态突出内容神经网络608时利用优化参数604而不在训练实时突出内容神经网络606时利用优化参数604。此外,在一个或多个实施例中,优化突出内容神经网络602可以比实时突出内容神经网络606和静态突出内容神经网络608更大(在存储器中)。

实验结果指示,直接与一些传统系统相比,深度突出对象分割系统可以更准确地准确标识数字视觉媒体中的突出对象。实际上,如表1所图示,平均来说,利用实时突出内容神经网络(densenet,具有7m的大小)和静态突出内容神经网络(googlenet,具有40m的大小)的深度突出对象分割系统的一个实施例与deeplabv2resnet-101iou的平均准确度为87.56%相比,导致iou准确度分别为88.52%和89.58%。三个模型使用相同的超参数和1的批量大小来训练。此外,实验结果针对三个模型使用20000、60000、80000次迭代,这大约是4个时期。实验结果使用密集的crf来改进分割质量。

表格1

现在转向图7,将提供关于深度突出对象分割系统110的一个示例架构的组件和能力的附加细节。如图7所示,深度突出对象分割系统110可以在服务器设备102和客户端设备104上实现。具体地,服务器设备102可以利用神经网络训练引擎702和存储管理器704(包括训练图像储存库706、神经网络708和参数数据710)来实现深度突出对象分割系统110。此外,客户端设备104a可以用数字媒体管理器712、神经网络应用管理器714和存储管理器716(包括数字视觉媒体数据718和神经网络720)来实现深度突出对象分割系统110。替代地,在一个或多个实施例中,上述元件都可以在服务器设备102或客户端设备104a内。此外,图7中所图示的元件可以在服务器设备102和客户端设备104a之间互换。

如刚刚提到的,并且如图7所示,深度突出对象分割系统110(经由服务器设备102实现)包括神经网络训练引擎702。神经网络训练引擎702可以教导、引导、调整和/或训练一个或多个神经网络。具体地,神经网络训练引擎702可以基于多个数字训练图像(例如,来自训练图像储存库706的图像)来训练突出内容神经网络。更具体地,神经网络训练引擎702可以访问、标识、生成、创建和/或确定训练输入,并利用训练输入来训练神经网络。

神经网络训练引擎702可以训练任意类型或各种的神经网络(例如,各种机器学习算法)。如上所述,在一个或多个实施例中,神经网络训练引擎702训练深度卷积神经网络(cnn)和/或完全卷积神经网络(fcn)以选择数字图像前景中的突出对象。此外,神经网络训练引擎702可以训练实时突出对象神经网络、静态突出对象神经网络、对象分类神经网络和/或优化突出内容神经网络(如上所述)。

神经网络训练引擎702可以生成或访问各种类型的训练输入。如上所述,在一个或多个实施例中,神经网络训练引擎702基于数字图像和真相掩模(来自训练图像储存库706)来训练神经网络。此外,在一个或多个实施例中,神经网络训练引擎702基于一个或多个前景通道参数或一个或多个背景通道参数(例如,来自参数数据710)来训练神经网络。实际上,如上所述,神经网络训练引擎702可以利用来自经训练的对象分类神经网络的人物通道和背景通道作为用于训练突出内容神经网络的初始化参数。类似地,神经网络训练引擎702可以基于参数数据710来训练突出内容神经网络。

在一个或多个实施例中,神经网络训练引擎702生成、确定和/或标识参数数据710。例如,神经网络训练引擎702可以执行网络诊断以确定在训练突出内容神经网络中利用的优化参数。如所述,在一个或多个实施例中,神经网络训练引擎702可以训练神经网络并将神经网络提供给存储管理器704(例如,神经网络708)。

如图7所示,深度突出对象分割系统110还包括存储管理器704。存储管理器704维护用于深度突出对象分割系统110的数据。存储管理器704可以维护根据需要用于执行深度突出对象分割系统110的功能的任意类型、大小或者种类的数据。如图7所示,存储管理器704包括训练图像储存库706、神经网络708和参数数据710。

训练图像储存库706可包括多个训练数字视觉媒体。具体地,在一个或多个实施例中,训练图像储存库706包括由神经网络训练引擎702利用的用于训练一个或多个神经网络的数字训练图像。训练图像储存库706可包括任意类型或种类的数字视觉媒体。

除了数字视觉媒体之外,训练图像储存库706还可以包括训练对象数据。例如,训练图像储存库706包括关于目标突出对象的训练对象数据。具体地,训练图像储存库706可以包括与数字训练图像内的目标突出对象相对应的真相掩模(例如,突出对象边界)。

此外,神经网络708可包括多个神经网络。具体地,在一个或多个实施例中,神经网络708包括由神经网络训练引擎702生成的神经网络。在一个或多个实施例中,神经网络708可以由神经网络应用管理器714利用。神经网络708可包括任意种类的神经网络。具体地,在一个或多个实施例中,神经网络708可以包括实时突出内容神经网络、静态突出内容神经网络、对象分类神经网络和/或优化突出内容神经网络。在一个或多个实施例中,神经网络应用管理器714可以被应用于实时可视媒体馈送和静态数字视觉媒体两者。

参数数据710可包括多个参数。具体地,在一个或多个实施例中,参数数据710包括由神经网络训练引擎702利用的参数。参数数据710可以包括用于神经网络训练引擎702的任意种类的数据。具体地,在一个或多个实施例中。参数数据710包括优化参数(例如,初始化参数、权重衰减参数和/或迭代参数)。

如上所述,并且如图7所示,客户端设备104a包括数字媒体管理器712。数字媒体管理器712可以访问、标识、修改、修正和/或提供数字视觉媒体。此外,数字媒体管理器712可以接收标识突出对象的选择信息(例如,从神经网络应用管理器714)并且修改数字视觉媒体(例如,修改突出对象前景像素和/或背景像素)。

具体地,数字媒体管理器712可以修改数字视觉媒体或数字视觉媒体的一部分。例如,在一个或多个实施例中,数字媒体管理器712改变目标突出对象(或背景)的颜色、亮度、色调或任意其他视觉特性。类似地,数字媒体管理器712可以移动、调整大小、旋转或定向在数字视觉媒体中描绘的目标突出对象。类似地,数字媒体管理器712可以隔离、剪切和粘贴在数字视觉媒体中描绘的目标突出对象。此外,数字媒体管理器712可以删除或移除数字视觉媒体中的突出对象(或背景)。

数字媒体管理器712还可以将一个或多个过滤器或样式应用于数字视觉媒体。更具体地,数字媒体管理器712可以独立地将一个或多个过滤器或样式应用于数字视觉媒体中的突出对象。因此,例如,数字媒体管理器712可以将第一过滤器应用于突出对象,并将第二过滤器应用于数字视觉媒体中的背景像素。

如图7所示,深度突出对象分割系统110还包括神经网络应用管理器714。神经网络应用管理器714可以访问、利用或应用经训练的神经网络(例如,应用来自神经网络训练引擎702的经训练的神经网络)。例如,神经网络应用管理器714将经训练的神经网络应用于数字视觉媒体并选择在数字视觉媒体中描绘的对象。

神经网络应用管理器714利用任意经训练的神经网络。例如,在一个或多个实施例中,神经网络应用管理器714利用由神经网络训练引擎702生成的经训练的神经网络。因此,在一个或多个实施例中,神经网络应用管理器714利用完全卷积神经网络来生成能够实现在数字视觉媒体中选择突出对象的信息。具体地,在一个或多个实施例中,神经网络应用管理器714利用实时突出内容神经网络和/或静态突出内容神经网络来分割数字视觉媒体中的突出对象。此外,神经网络应用管理器714可以将实时突出内容神经网络(例如,应用于实时数字视觉媒体馈送)和/或静态突出内容神经网络(例如,应用于数字图像)。

此外,神经网络应用管理器714可以生成各种输出。例如,神经网络应用管理器714生成表示数字视觉媒体的前景中的突出对象的像素集合(即,输出掩模)。

此外,如图7所图示,深度突出对象分割系统110还包括存储管理器716。存储管理器716维护用于深度突出对象分割系统110的数据。存储管理器716可以维护执行深度突出对象分割系统110的功能所需的任意类型、大小或种类的数据。如图7所示,存储管理器716包括数字视觉媒体数据718和神经网络720。

数字视觉媒体数据718可包括用于深度突出对象分割系统110所利用的任意数字视觉媒体的信息。例如,数字视觉媒体数据718包括数字视频或数字图像(例如,其中用户试图选择在数字视觉媒体的前景中描绘的对象)。数字视觉媒体数据718还可以包括由深度突出对象分割系统110生成的关于数字视觉媒体的信息。例如,数字视觉媒体数据718包括用于数字视觉媒体中的标识的对象的掩模。

此外,神经网络720可包括多个神经网络。具体地,在一个或多个实施例中,神经网络720包括由神经网络训练引擎702生成的神经网络。在一个或多个实施例中,神经网络720可以由神经网络应用管理器714利用。神经网络720可以包括任意种类的神经网络。具体地,在一个或多个实施例中,神经网络720可以包括实时突出内容神经网络和/或静态突出内容神经网络。

深度突出对象分割系统110的组件702-720中的每一个及其对应元件(如图7中所示)可以使用任意合适的通信技术彼此通信。将认识到,尽管在图7中组件702-720及其对应元件被示出为是分离的,但是组件702-720中的任意组件及其对应元件可以被组合成更少的组件,诸如组合成单个设施或模块中,划分为更多组件,或被配置为可以服务于特定实施例的不同组件。

组件702-720及其对应元件可包括软件、硬件或两者。例如,组件702-720及其对应元件可以包括存储在计算机可读存储介质上并且可由一个或多个计算设备的处理器执行的一个或多个指令。当由一个或多个处理器执行时,深度突出对象分割系统110的计算机可执行指令可以使客户端设备和/或服务器设备执行本文描述的方法。替代地,组件702-720及其对应元件可包括硬件,诸如用于执行特定功能或功能组的专用处理设备。另外,组件702-720及其对应元件可包括计算机可执行指令和硬件的组合。

此外,深度突出对象分割系统110的组件702-720可以例如被实现为一个或多个独立应用,实现为应用的一个或多个模块,实现为一个或多个插件,实现为可由其他应用调用的一个或多个库函数或函数,和/或实现为云计算模型。因此,深度突出对象分割系统110的组件702-720可以实现为独立应用,诸如桌面或移动应用。此外,深度突出对象分割系统110的组件702-720可以实现为被托管在远程服务器上的一个或多个基于web的应用。替代地或另外地,深度突出对象分割系统110的组件可以在一套移动设备应用或“应用”中实现。为了说明,深度突出对象分割系统110的组件可以在数字图像编辑应用(或数字图像捕获应用)中被实现,该数字图像编辑应用包括但不限于adobephotoshop、adobelightroom或adobepremiere。“adobe”、“photshop”、“lightroom”和“premiere”是奥多比公司在美国和/或其他国家/地区的注册商标或商标。

图1-7,对应的文本和示例提供了许多不同的系统和设备,其允许用户促进直接在移动设备上选择数字视觉媒体的前景内的突出对象的。除了前述内容之外,实施例还可以根据用于实现特定结果的一系列动作来描述。例如,图8图示了根据一个或多个实施例的用于训练突出内容神经网络以选择数字视觉媒体中的对象的一系列动作800的流程图。虽然图8图示了根据一个实施例的动作,但是替代实施例可以省略、添加、重新排序和/或修改图8中所示的任意动作。图8的动作可以作为方法的一部分来被执行。替代地,非暂态计算机可读介质可以包括指令,其当由一个或多个处理器执行时,使得计算设备执行图8的动作。在其他实施例中,系统可以执行图8的动作。

如图8所示,一系列动作800包括训练第一突出内容神经网络的动作802。具体地,动作802可以包括通过以下项来训练第一突出内容神经网络:利用第一突出内容神经网络以生成第一训练数字图像的预测前景像素,并且将第一训练数字图像的真相前景像素与第一训练数字图像的经预测的前景像素进行比较。

此外,动作802还可以包括利用优化参数。例如,在一个或多个实施例中,动作802包括利用第三训练数字图像来训练第三突出内容神经网络,并利用第三突出内容神经网络的优化参数来训练第一突出内容神经网络。第三突出内容神经网络的优化参数可以包括权重衰减参数、初始化参数和/或迭代参数。此外,第二突出内容神经网络可以具有比第一突出内容神经网络更快的处理速度。

此外,动作802可以包括访问具有至少一个对象分类通道和一个背景分类通道的经训练的对象分类神经网络,并通过利用至少一个对象分类通道和该背景分类通道作为用于第一突出内容神经网络的初始化参数来训练第一突出内容神经网络。此外,对象分类通道可以包括人物分类通道。动作802还可以包括通过以下项训练第一突出内容神经网络:从经训练的对象分类神经网络的人物分类通道来初始化第一突出内容神经网络的前景权重,并从经训练的对象分类神经网络的背景分类通道来初始化第一突出内容神经网络的背景权重。

如图8所示,一系列动作800包括训练第二突出内容神经网络的动作804。具体地,动作804可以包括通过以下项来训练第二突出内容神经网络:利用第二突出内容神经网络来生成第二训练数字图像的预测前景像素,并将第二训练数字图像的真相前景像素与第二训练数字图像的预测前景像素进行比较。

此外,动作804还可以包括利用优化参数。例如,在一个或多个实施例中,动作804包括利用第三训练数字图像来训练第三突出内容神经网络,并利用第三突出内容神经网络的优化参数来训练第二突出内容神经网络。具体地,在一个或多个实施例中,优化参数可包括权重衰减参数、初始化参数和/或迭代参数。

此外,动作804可以包括访问具有至少一个对象分类通道和一个背景分类通道的经训练的对象分类神经网络,并通过利用至少一个对象分类通道和该背景分类通道作为用于第二突出内容神经网络的初始化参数来训练第二突出内容神经网络。对象分类通道可以包括人物分类通道。动作804还可以包括通过以下项来训练第二突出内容神经网络:从经训练的对象分类神经网络的人物分类通道来初始化第二突出内容神经网络的前景权重,并从经训练的对象分类神经网络的背景分类通道来初始化第二突出内容神经网络的背景权重。

如图8所示,一系列动作800包括向移动设备提供第一突出内容神经网络的动作806。具体地,动作806还可以包括向移动设备提供第一突出内容神经网络,以用于标识在数字视觉媒体馈送中描绘的一个或多个突出对象。替代地,在一个或多个实施例中,动作806可以向移动设备提供第一突出内容神经网络,以用于标识静态数字图像中描绘的一个或多个突出对象。

此外,如图8所示,一系列动作800包括向移动设备提供第二突出内容神经网络的动作808。具体地,动作808还可以包括向移动设备提供第二突出内容神经网络,以用于标识静态数字图像中描绘的一个或多个突出对象。替代地,在一个或多个实施例中,动作808可以向移动设备提供第二突出内容神经网络,以用于标识数字视觉媒体馈送中描绘的一个或多个突出对象。

现在转向图9,将提供关于根据一个或多个实施例的用于利用突出内容神经网络以在移动设备上选择数字视觉媒体中的对象的一系列动作900的流程图的附加细节。如图9所示,一系列动作900包括接收数字图像的动作902。具体地,动作902可以包括由移动设备接收描绘一个或多个突出对象的数字图像。另外,动作902的数字图像可以包括作为数字视觉媒体馈送的一部分数字图像。动作902还可以包括基于与数字视觉媒体馈送的用户交互来从数字视觉媒体馈送捕获数字图像。

如图9所图示,一系列动作900还包括访问突出内容神经网络的动作904。具体地,动作904可以包括访问移动设备上的突出内容神经网络,其中突出内容神经网络通过以下各项来被训练:利用突出内容神经网络以预测训练数字图像的前景像素,并将训练数字图像的真相前景像素与训练数字图像的预测前景像素进行比较。另外,动作904可以包括访问移动设备上的第二突出内容神经网络,其中第二突出内容神经网络通过以下项被训练:利用第二突出内容神经网络以预测第二训练数字图像的前景像素,并将第二训练数字图像的真相前景像素与第二训练数字图像的预测前景像素进行比较。在一个或多个实施例中,第二突出内容神经网络可以具有比突出内容神经网络更快的处理速度。

如图9所示,一系列动作900还可以包括标识数字图像中描绘的对象的动作906。具体地,动作906可以包括通过将突出内容神经网络应用于数字图像,由移动设备标识在数字图像中描绘的一个或多个突出对象。另外,动作906还可以包括通过响应于从数字视觉媒体馈送捕获数字图像来将突出内容神经网络应用于来自数字视觉媒体馈送的数字图像来标识数字图像中描绘的一个或多个突出对象。动作906可以包括将第二突出内容神经网络应用于数字视觉媒体馈送。

如图9所示,一系列动作900还可以包括生成经修改的数字图像的动作908。具体地,动作908可以包括基于在数字图像中描绘的、经识别的一个或多个突出对象来生成修改的数字图像。动作908还可以包括通过以下项生成经修改的数字图像:将数字图像的背景像素与数字图像中描绘的、经标识的一个或多个突出对象进行分离,并且修改数字图像的背景像素或经标识的一个或多个突出对象中的至少一个。另外,动作908可以包括基于在数字视觉媒体馈送中描绘的、经标识的一个或多个突出对象来生成修改的数字视觉媒体馈送。动作908还可以包括通过以下项生成修改的数字视觉媒体馈送:将数字视觉媒体馈送的背景像素与数字视觉媒体馈送中描绘的、经标识的一个或多个突出对象进行分离,并且修改数字视觉媒体馈送的背景像素或者在数字视觉媒体馈送中描绘的、经标识的一个或多个突出对象中的至少一个。

本公开的实施例可以包括或利用包括计算机硬件(诸如例如,一个或多个处理器和系统存储器)的专用或通用计算机,如下面更详细地讨论的。本公开范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文描述的过程的一个或多个可以至少部分地被实现为在非暂态计算机可读介质上实施的并且可由一个或多个计算设备(例如,本文描述的任意媒体内容访问设备)执行的指令。通常,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器等)接收指令,并执行那些指令,从而执行一个或多个过程,包括本文描述的一个或多个过程。

计算机可读介质可以是可由通用或专用计算机系统访问的任意可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种截然不同的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。

非暂时性计算机可读存储介质(设备)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram)、闪存、相变存储器(“pcm“)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备,或任意其他介质,该任意其他介质可以用于存储以计算机可执行指令或数据结构的形式的所需程序代码部件,并且可以由通用或专用计算机访问。

“网络”被定义为能够实现在计算机系统和/或模块和/或其他电子设备之间的电子数据的传输的一个或多个数据链路。当通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)向计算机传输或提供信息时,计算机将连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,其可以用于携带以计算机可执行指令或数据结构的形式的期望的程序代码部件,并且可以由通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。

此外,在到达各种计算机系统组件时,以计算机可执行指令或数据结构形式的程序代码部件可以自动地从传输介质传输到非暂态计算机可读存储介质(设备)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,“nic”)内的ram中,然后最终被传送到计算机系统ram和/或计算机系统中的更少的易失性计算机存储介质(设备)。因此,应当理解,非暂时性计算机可读存储介质(设备)可以被包括在也(或甚至主要)利用传输介质的计算机系统组件中。

计算机可执行指令包括例如指令和数据,其在处理器处被执行时,使得通用计算机、专用计算机或专用处理设备执行特定功能或功能组。在一些实施例中,计算机可执行指令在通用计算机上执行,以将通用计算机变成实现本公开的元件的专用计算机。计算机可执行指令可以是例如二进制文件,诸如汇编语言的中间格式指令,或甚至是源代码。尽管本主题已经用结构特征和/或方法动作专用的语言进行了描述,但应理解,所附权利要求书中定义的主题不必限于上述所描述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例形式。

本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中被实践,该网络计算环境包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实施,其中通过网络被链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者均执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。

本公开的实施例还可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中使用云计算来提供对可配置计算资源的共享池的普遍且方便的按需访问。可配置计算资源的共享池可以经由虚拟化被快速供应,并以低管理工作量或服务提供商交互发布,然后相应地进行扩展。

云计算模型可以由各种特征组成,诸如例如,按需自助服务、广泛网络接入、资源池化、快速弹性、测量服务等。云计算模型还可以展露各种服务模型,诸如例如,软件即服务(“saas”)、平台即服务(“paas”)和基础设施即服务(“iaas”)。还可以使用不同的部署模型(例如私有云、社区云、公共云、混合云等)部署云计算模型。在本说明书和权利要求书中,“云计算环境”是云计算被采用的环境。

图10图示了示例性计算设备1000的框图,该示例性计算设备1000可以被配置为执行上述处理中的一个或多个。可以理解,诸如计算设备1000的一个或多个计算设备可以表示上述计算设备(例如,服务器102、客户端设备104a-104n、移动设备300和/或移动设备400)。在一个或多个实施例中,计算设备1000可以是移动设备(例如,移动电话、智能电话、pda、平板计算机、膝上型计算机、相机、跟踪器、手表、可穿戴设备等)。在一些实施例中,计算设备1000可以是非移动设备(例如,台式计算机或其他类型的客户端设备)。此外,计算设备1000可以是包括基于云的处理和存储能力的服务器设备。

如图10所示,计算设备1000可以包括一个或多个处理器1002、存储器1004、存储设备1006、输入/输出(“i/o”)接口1008和通信接口1010,其可以通过通信基础设施(例如,总线1012)被通信地耦合。虽然图10中图示了计算设备1000,但是图10中图示的组件并非旨在进行限制。附加或替代组件可以在其他实施例中被使用。此外,在某些实施例中,计算设备1000包括比图10中所示的组件更少的组件。图10中所示的计算设备1000的组件现在将更详细地描述。

在特定实施例中,处理器1002包括用于执行诸如构成计算机程序的指令的硬件。作为示例而非通过限制的方式,为了执行指令,处理器1002可以从内部寄存器、内部高速缓存、存储器1004或存储设备1006取回(或取)指令并解码和执行他们。

计算设备1000包括存储器1004,其耦合到处理器1002。存储器1004可以用于存储数据、元数据和程序以供处理器执行。存储器1004可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“ram”)、只读存储器(“rom”)、固态盘(“ssd”)、闪存、相变存储器(“pcm”)或其他类型的数据存储装置。存储器1004可以是内部或分布式存储器。

计算设备1000包括存储设备1006,其包括用于存储数据或指令的存储装置。作为示例,但不作为限制,存储设备1006可以包括上述的非暂态存储介质。存储设备1006可以包括硬盘驱动器(hdd)、闪存、通用串行总线(usb)驱动器或这些或其他存储设备的组合。

如图所示,计算设备1000包括一个或多个i/o接口1008,其被提供以允许用户向计算设备1000提供输入(诸如用户笔划)、从计算设备1000接收输出、以及以其他方式将数据传送到计算设备1000和从计算设备1000传送数据。这些i/o接口1008可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的i/o设备或这些i/o接口1008的组合。触摸屏可以用触控笔或手指激活。

i/o接口1008可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动程序(例如,显示驱动程序)、一个或多个音频扬声器、以及一个或多个音频驱动程序。在某些实施例中,i/o接口1008被配置为向显示器提供图形数据以呈现给用户。图形数据可以代表一个或多个图形用户界面和/或可以用于特定实现的任意其他图形内容。

计算设备1000还可以包括通信接口1010。通信接口1010可以包括硬件、软件或两者。通信接口1010提供用于计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(诸如例如,基于分组的通信)的一个或多个接口。作为示例而非通过限定的方式,通信接口1010可以包括用于与以太网或其他基于有线的网络通信的网络接口控制器(nic)或网络适配器,或用于与诸如wi-fi的无线网络通信的无线nic(wnic)或无线适配器。计算设备1000还可以包括总线1012。总线1012可以包括将计算设备1000的组件彼此连接的硬件、软件或两者。

在前述说明书中,已经参考本发明的特定示例性实施例描述了本发明。参考本文讨论的细节描述了本发明的各种实施例和方面,并且附图图示了各种实施例。以上描述和附图是对本发明的说明,而不应被解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。

在不脱离本发明的精神或必要特征的情况下,本发明可以以其他特定形式实施。所描述的实施例在所有方面都应被视为仅是说明性的而非限制性的。例如,本文描述的方法可以用更少或更多的步骤/动作来执行,或者步骤/动作可以以不同的顺序执行。另外,本文描述的步骤/动作可以被重复,或者彼此并行地或者与相同或类似的步骤/动作的不同实例并行地被执行。因此,本发明的范围由所附权利要求而不是前面的描述表示。在权利要求的含义和等同范围内的所有改变都被涵盖在其范围内。

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