使用环境传感器数据的高效的图像分析

文档序号:1745750 发布日期:2019-11-26 浏览:12次 >En<

阅读说明:本技术 使用环境传感器数据的高效的图像分析 (The efficient image analysis of use environment sensing data ) 是由 M.J.布里奇斯 A.菲恩 H.亚当 J.M.吉尔伯特 于 2018-02-09 设计创作,主要内容包括:用于高效的图像分析的方法、系统和装置。在一些方面,一种系统包括被配置为捕获图像的相机、被配置为检测相机的移动的一个或多个环境传感器、数据处理装置以及与数据处理装置进行数据通信的存储器存储装置。对于由移动设备相机捕获的多个图像中的每一个,数据处理装置可以访问指示相机捕获图像时相机的移动的数据。数据处理装置还可以基于每个图像的指示相机的移动的数据,从图像中选择特定图像用于分析,分析特定图像以识别特定图像中描绘的一个或多个对象,并且呈现与一个或多个识别的对象相关的内容。(Mthods, systems and devices for efficient image analysis.In some respects, a kind of system includes the camera for being configured as capture image, is configured as the memory storage apparatus for detecting one or more environmental sensors of the movement of camera, data processing equipment and carrying out data communication with data processing equipment.For each of the multiple images captured by mobile device camera, the accessible data for indicating the movement of camera when camera captures images of data processing equipment.Data processing equipment is also based on the data of the movement of the instruction camera of each image, select specific image for analyzing from image, content relevant to the object of one or more identification is presented to identify the one or more objects described in specific image in analysis specific image.)

使用环境传感器数据的高效的图像分析

背景技术

计算机视觉技术使计算机能够从图像中分析和提取信息。例如,光学字符识别(optical character recognition,OCR)技术可用于从图像中检测和提取文本。类似地,边缘检测技术可用于检测图像中描绘的对象。

发明内容

本说明书描述了与高效的图像分析相关的技术,高效的图像分析使得电子设备能够识别图像中的对象和/或从图像中提取信息,并呈现与图像相关的信息或其他内容,同时减少电子设备的计算和电功率消耗。

通常,本说明书中描述的主题的一个创新方面可以体现在设备中,该设备包括被配置为输出图像像素数据的图像传感器、被配置为临时存储图像像素数据的图像缓冲器、环境传感器和图像处理装置。该设备还可以包括控制器,该控制器被配置为基于由环境传感器输出的信号确定图像像素数据的预期图像质量,并且根据预期图像质量选择性地将图像像素数据提供给图像处理装置。该方面的其他实施方式包括对应的装置、方法、系统和编码在计算机存储设备上的计算机程序,被配置为执行方法的动作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个。在一些方面,如果控制器确定图像像素数据的预期图像质量低于预设的最小质量阈值,则不将图像像素数据提供给图像处理装置。如果控制器确定图像像素数据的预期图像质量等于或高于预设的最小质量阈值,则将图像像素数据提供给图像处理装置。

某些方面包括被选帧缓冲器。控制器可以被配置为根据图像像素数据的预期图像质量,将图像像素数据从图像缓冲器复制到被选帧缓冲器,或者更新到图像缓冲器的被选帧指针,并且向图像处理装置提供存储在被选帧缓冲器中的图像像素数据。

在一些方面,控制器被配置为将图像缓冲器中的图像像素数据的预期图像质量与被选帧缓冲器的图像像素数据的预期图像质量进行比较,并且如果图像缓冲器中的图像像素数据的预期图像质量等于或超过被选帧缓冲器的预期图像质量,则将图像像素数据从图像缓冲器复制到被选帧缓冲器,或者更新到图像缓冲器的被选帧指针。

在一些方面,环境传感器包括惯性传感器,并且控制器被配置为基于感测的装置的移动来确定预期的图像质量。在一些方面,控制器被配置为基于由环境传感器输出的信号和由图像传感器输出的信号来确定预期图像质量。在一些方面,由图像传感器输出的信号包括与由图像传感器输出的图像像素数据相关的亮度信息、焦点信息或直方图数据中的至少一个。

通常,本说明书中描述的主题的另一方面可以体现在方法中,该方法包括生成图像像素数据、将图像像素数据临时存储在图像缓冲器中、基于环境信号确定图像像素数据的预期图像质量、以及根据预期图像质量选择性地对图像像素数据进行图像处理。该方面的其他实施方式包括对应的装置、系统和编码在计算机存储设备上的计算机程序,被配置为执行方法的动作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个。在一些方面,如果确定图像像素数据的预期图像质量低于预设的最小质量阈值,则不提供图像像素数据用于图像处理。

一些方面包括根据图像像素数据的预期图像质量将图像像素数据从图像缓冲器复制到被选帧缓冲器或更新到图像缓冲器的指针。存储在被选帧缓冲器中的图像像素数据可以被提供用于图像处理。

在一些方面,环境信号包括惯性信号,并且基于感测的移动来确定预期图像质量。可以基于环境信号和利用图像像素数据生成的图像信息信号来确定预期图像质量。图像信息信号可以包括与生成的图像像素数据相关的亮度信息、焦点信息或直方图数据中的至少一个。

通常,本说明书中描述的主题的另一方面可以体现在图像处理装置中,该图像处理装置包括与各个对象类别相对应的一个或多个图像识别模块。每个图像识别模块可以被配置为标识(identify)相应的对象类别中的一个或多个对象。图像处理装置还可以包括粗略识别模块,该粗略识别模块被配置为接收输入图像,确定输入图像是否包括标识对象类别之一的图像特征,并且提供输入图像以供对应于标识的对象类别的图像识别模块处理。该方面的其他实施方式包括对应的系统、方法和编码在计算机存储设备上的计算机程序,被配置为执行方法的动作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个。在一些方面,粗略识别模块被配置为向图像识别模块提供指示对象的位置和/或取向的信息。在一些方面,图像识别模块对应于文本对象类别、地标对象类别、条形码对象类别、媒体对象类别和艺术品对象类别中的一个或多个。

在一些方面,一个或多个图像识别模块被配置为输出具有相关联的置信度分数的相应对象类别中的标识的对象。一个或多个图像识别模块可以被配置为基于图像识别模块的先前输出来调整标识的对象的输出置信度分数。

在一些方面,可以基于标识的对象或标识的对象内的文本与先前标识的对象之间的编辑距离、先前标识的对象的位置以及与先前标识的对象相关联的置信度分数中的至少一个来调整输出置信度分数。一些方面包括通信单元。粗略识别模块可以远离一个或多个图像识别模块来布置。

在一些方面,粗略识别模块被配置为提供输入图像的缩减版本以供图像识别模块处理。输入图像的缩减版本可以是输入图像的低分辨率版本、裁剪版本或矢量表示之一。

一般而言,本说明书中描述的主题的另一方面可以体现在图像处理方法中,该图像处理方法包括接收输入图像,确定输入图像是否包括标识一个或多个对象类别之一的图像特征,以及对输入图像进行图像处理以标识在标识的对象类别中的一个或多个对象。该方面的其他实施方式包括对应的系统、装置和编码在计算机存储设备上的计算机程序,被配置为执行方法的动作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个。一些方面包括确定指示对象的位置和/或取向的信息。对输入图像进行图像处理以标识一个或多个对象可以基于所确定的指示对象的位置和/或取向的信息。对象类别可以包括文本对象类别、地标对象类别、条形码对象类别、媒体对象类别和艺术品对象类别中的一个或多个。

一些方面包括输出具有相关联的置信度分数的标识的对象,并基于先前输出来调整标识的对象的输出置信度分数。在一些方面,基于标识的对象与先前标识的对象之间的编辑距离、先前标识的对象的位置和与先前标识的对象相关联的置信度分数中的至少一个来调整输出置信度分数。

一些方面包括生成用于图像处理以标识一个或多个对象的输入图像的缩减版本。输入图像的缩减版本可以是输入图像的低分辨率版本、裁剪版本或矢量表示之一。

通常,本说明书中描述的主题的另一方面可以体现在图像处理系统中,该图像处理系统包括被配置为捕获图像的相机、被配置为检测相机的移动的一个或多个环境传感器、数据处理装置以及与数据处理装置进行数据通信的存储器存储装置。存储器存储装置可以存储可由数据处理装置执行的指令,所述指令在这样执行时使得数据处理装置执行操作,包括:对于由移动设备相机捕获的多个图像中的每一个,访问指示在相机捕获图像时相机的移动的数据。数据处理装置可以基于每个图像的指示相机的移动的数据,从图像中选择用于分析的特定图像。数据处理装置可以分析特定图像以识别特定图像中描绘的一个或多个对象,并呈现与一个或多个识别的对象相关的内容。该方面的其他实施方式包括对应的方法、装置和编码在计算机存储设备上的计算机程序,被配置为执行方法的动作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个。在一些方面,操作可以包括使用粗略分类器分析特定图像以检测特定图像中描绘的一个或多个对象类别的存在。响应于检测到特定图像中一个或多个对象类别的存在,可以分析特定图像以识别特定图像中描绘的一个或多个对象。

在一些方面,分析图像以识别由图像描绘的一个或多个对象包括使用一种或多种计算机视觉技术分析图像。指示移动设备的移动的数据可以包括(i)从移动设备的加速度计传感器接收的惯性加速度测量或者(ii)从移动设备的陀螺仪接收的取向数据中的至少一个。

在一些方面,选择用于分析的特定图像可以包括:基于相对于相机捕获多个图像中的每个其他图像时的每个移动量,特定图像具有相机捕获该特定图像时的最小移动量来选择特定图像。每个图像的指示移动设备的移动的数据可以包括描述捕获图像时移动设备的旋转运动的数据。在一些方面,选择用于分析的特定图像可以包括基于在捕获特定图像时移动设备的旋转运动小于旋转运动的阈值量来选择特定图像。

在一些方面,操作可以包括在由粗略分类器完成对先前图像的分析之后,接收对要由粗略分类器分析的图像的请求。选择用于分析的特定图像可以包括:基于相对于在先前图像被发送到粗略分类器以用于分析之后相机捕获的图像集中的其他图像,特定图像具有最小的移动量来选择该特定图像。

在一些方面,使用粗略分类器分析特定图像可以包括基于处理速率周期性地启动粗略分类器的分析。操作可以包括基于与相机应用的用户交互来调整处理速率。操作可以包括基于在先前时间段内在由粗略分类器分析的一个或多个图像中是否检测到一个或多个对象类别的存在来调整处理速率。响应于在先前时间段内检测到至少一个图像中一个或多个对象类别的存在,可以增加处理速率,使得每单位时间由粗略分类器分析更多图像。响应于在先前时间段内未检测到至少一个图像中一个或多个对象类别的存在,可以减少处理速率,使得每单位时间由粗略分类器分析更少图像。

在一些方面,呈现与一个或多个标识的对象相关的内容可以包括呈现结果页面,该结果页面包括结果,所述结果包括到与一个或多个标识的对象相关的资源的链接。呈现与一个或多个标识的对象相关的内容可以包括:针对每个标识的对象,在对象上的覆盖层(overlay)中呈现与对象相关的内容。呈现与一个或多个标识的对象相关的内容可以包括:呈现可选择的用户界面元素,该用户界面元素当由用户选择时,启动与该一个或多个标识的对象相关联的特定动作。呈现与一个或多个标识的对象相关的内容可以包括:为由粗略分类器检测到类别的对象的存在的每个类别选择与该类别相关的内容项,并为由粗略分类器检测到类别的对象存在的每个类别呈现内容项。

在一些方面,基于指示移动设备相机的移动的数据来选择用于分析的特定图像可以包括:独立于指示图像的视觉特性的数据来选择特定图像。基于指示移动设备相机的移动的数据选择用于分析的特定图像可以包括:基于每个图像的指示移动设备相机的移动的数据,结合指示每个图像的视觉特性的数据,来选择特定图像。指示每个图像的视觉特性的数据可以包括(i)亮度数据、(ii)焦点数据或(iii)直方图数据中的至少一个。

在一些方面,选择用于分析的特定图像可以包括:基于图像的指示移动设备相机的移动的数据为每个图像确定图像的预期图像质量,并且选择具有最高预期图像质量的图像作为特定图像。选择用于分析的特定图像可以包括:基于第一图像的指示移动设备相机的移动的数据,为第一图像确定第一图像的第一预期图像质量。基于第一图像的第一预期图像质量,第一图像的图像数据可以存储在被选帧缓冲器中。第二图像的第二预期图像质量可以基于第二图像的指示移动设备相机的移动的数据来确定。基于第二预期图像质量大于第一预期图像质量,可以确定用第二图像的图像数据替换被选帧缓冲器中的第一图像的图像数据。

一些方面可以包括使用粗略分类器分析第二图像,以检测特定图像中描绘的一个或多个对象类别的存在,并且响应于使用粗略分类器未能检测到特定图像中一个或多个对象类别的存在,确定不分析第二图像来识别特定图像中描绘的一个或多个对象。

本说明书中描述的主题可以在特定实施例中实施,以便实现以下优点中的一个或多个。与基于每个图像的视觉特性的分析选择图像相比,通过基于指示捕获图像的相机的移动的数据选择用于分析的图像,可以快速地选择更高质量的图像用于更详细的分析,并且使用更少的计算资源和更少的功率。仅存储图像流中的单个最佳图像(或少于阈值数量的图像)以用于后续分析,减少了消耗的存储器量,为其他应用释放了内存空间。这些特征还确保在计算机视觉分析中使用更高质量的图像,从而基于图像中识别的对象提供更准确的视觉分析结果和更相关的内容。

使用粗略分类器来标识特定对象类别的存在,并且仅对被分类为描绘类别之一的对象的图像执行进一步的计算机视觉分析,减少了使用计算机视觉分析技术分析的图像的数量。另外,多类别粗略分类器可以将附加处理限制到与由粗略分类器检测到的(多个)类型匹配的(多个)精细分类器。由于后续阶段计算机视觉分析可以比粗略分类和图像选择更加计算密集,这极大地减少了对计算资源的需求并节省了计算能力和功率以供其他应用使用。这也可以提高分析图像的速度,因为它减少了供分析的放入队列中的图像数量。本文描述的图像选择和分析技术还允许将视觉分析无模式地集成到现有应用中,而不会损害应用的主要行为(例如,用相机拍照)。

下面参考附图描述前述主题的各种特征和优点。根据本文描述的主题和权利要求,其他特征和优点是显而易见的。

附图说明

图1是示例在其中移动设备分析图像并呈现与图像中描绘的一个或多个对象相关的内容的环境的框图。

图2是示出用于分析图像并呈现与图像中描绘的一个或多个对象相关的内容的示例过程的流程图。

图3是示出用于选择图像用于分析的示例过程的流程图。

图4是示出用于调整分析图像的处理速率的示例过程的流程图。

各附图中相同的附图标记和名称表示相同的元素。

具体实施方式

一般来说,本文描述的系统和技术可以通过选择性地分析预期为高质量的图像来减少用于分析图像的计算资源和电功率的消耗,同时还提高图像分析的准确度。例如,可以分析图像以识别图像中描绘的对象并提取关于图像中描绘的对象的信息,用于提供关于对象的附加信息的目的。移动设备,例如,智能电话或平板计算设备,的用户可以使用移动设备的相机捕获对象的图像。可以选择图像中一个或多个用于分析,例如,基于图像的预期质量,而图像的预期质量基于指示在捕获图像时相机的移动的数据确定。可以分析选择的图像以提供用于在移动设备处呈现的附加内容。例如,内容可以与图像一起显示在移动设备的用户界面中,或者来自分析的结果可以被存储用于以后使用。

移动设备通常具有比台式计算机和服务器更低的计算能力和数据存储容量。移动设备通常还具有有限的电池功率和散热能力。因此,以减少计算资源和电池功率的利用的方式执行图像分析的技术可以通过保存有限的计算能力和电功率以用于其他应用和/或过程、并减少由移动设备生成的热量来改善移动设备的功能和性能。

在一些实施方式中,对诸如视频流的图像序列的图像执行图像分析。例如,用户可以激活提供与图像中描绘的对象相关的内容的相机模式,并将相机指向各种对象。在另一示例中,当相机应用启用时,相机应用通常可以使该特征启用。在这些示例中,可以分析图像序列中的一些图像(例如,少于全部)以识别图像中描绘的(多个)对象。本文描述的技术可以使用一个或多个低功耗阶段来选择用于进一步分析的图像,以减少分析的图像的数量并减少由分析过程消耗的计算能力和电功率的量。

在一些实施方式中,低功耗阶段可确定图像的预期图像质量。例如,可以基于设备的环境传感器确定预期图像质量。预期图像质量的确定可比识别描绘的(多个)对象的进一步分析需要更少的处理资源,因此消耗更少的功率。以这种方式,可以避免分析具有低图像质量的图像的不必要的资源消耗。

在一些实施方式中,低功耗阶段可以确定图像是否包括标识对象类别的图像特征。包括这种图像特征的图像可以被提供以供与识别的类别对应的图像标识模块进一步分析。这种图像特征的确定可比识别描绘的(多个)对象的进一步分析需要更少的处理资源,因此消耗更少的功率。以这种方式,可以避免分析不包括任何(多个)对象的图像的不必要的资源消耗。此外,通过提供图像以供与标识的类别对应的图像识别模块进一步分析,可以使图像识别模块更加高效,并且可以提供系统处理要求的进一步降低。

图1是环境100的框图,在环境100中示例移动设备110分析图像并呈现与图像中描绘的一个或多个对象相关的内容。移动设备110可以是智能电话、平板计算机、膝上型计算机、可穿戴设备或其他适当类型的移动设备。虽然移动设备110在图1中示出并在本文中描述,但是移动设备110的组件可以包括在其他类型的电子设备(例如,台式计算机)中,并且由移动设备110执行的技术可以由其他电子设备执行。

移动设备110包括相机112和相机应用114。相机112捕获静止图像(例如,数字照片)和视频。相机应用114可以是为在特定平台或特定设备上使用而开发的本机应用。相机应用114使用户能够控制相机112并查看由相机112捕获的图像和视频。相机112可以包括图像传感器,该图像传感器被配置为输出由图像传感器捕获的图像数据(例如,图像像素数据)。图像的每个像素的像素数据可以指定像素的一个或多个视觉特性,例如像素的颜色。

相机应用114还可以对捕获的图像执行图像选择技术和/或图像分析技术,以提供与图像中识别的对象相关的内容。在一些实施方式中,相机应用114响应于用户选择图标来捕获图像并分析图像。例如,用户可以将相机112指向对象并选择图标以捕获对象的图像并接收与对象相关的内容。

在一些实施方式中,相机应用114对由相机112捕获的图像流自动地(例如,在总是开启(always-on)的状态下)执行图像分析过程。例如,相机应用114可以从视频流中选择图像并分析选择的图像,以识别图像中描绘的对象并提供与识别的对象相关的内容。在特定示例中,在用户将相机112指向对象时,相机应用114可以从由相机112捕获的图像序列中选择图像。在另一示例中,相机应用114可以使用相机112来捕获在相机112(或移动设备110)的取景器中可见的场景的图像。

尽管以下描述是关于相机应用114对图像执行图像选择和图像分析技术,但是这些技术(或其一部分)可以由另一应用(例如,可以访问和/或控制相机以呈现与由相机捕获的图像相关的内容的相机优先应用(camera-first application))、移动设备的硬件电路、控制器或另一适当的硬件和/或软件组件来执行。

相机应用114可以使用一个或多个低功耗阶段来选择被分析以进行对象识别的图像。所述一个或多个阶段可以确保在后续阶段中分析的图像具有足够的质量并且描绘用户可能感兴趣的一个或多个对象。这允许移动设备110不会在可能无法标识对象或者可能无法标识内容的图像上浪费计算资源和电池功率。

相机应用114包括图像选择器122,该图像选择器122基于指示在捕获图像时相机112的移动的数据(“移动数据”),从图像流中选择图像用于进一步处理。捕获图像时的移动数据可以包括相机112在从捕获图像之前的指定时间段开始到捕获图像之后的指定时间段的时间窗口内的移动数据。例如,如果相机112在捕获图像时正在移动,则该图像与相机112静止时相比更可能是低质量的(例如,模糊的)。通过使用图像的移动数据而不是图像的视觉特性,可以更快地执行选择并使用更少的计算资源。例如,相机应用114可以从多个图像中选择图像,而无需检测和评估图像的任何视觉特性,并且仅使用图像的移动数据。如下所述,相机应用114还可以使用图像的视觉特性、结合图像的移动数据来选择图像用于进一步处理。

相机应用114可以从移动设备110的惯性测量单元(inertial measurement unit,IMU)113或其他类型的环境传感器获得或接收图像的移动数据。例如,相机应用114可以在相机应用114使相机112捕获图像时获得图像的移动数据。IMU是可以包括一个或多个加速度计、一个或多个陀螺仪和/或一个或多个磁力计的电子设备。IMU数据可以是游戏旋转矢量的形式。在一些实施方式中,移动设备110可包括单独的加速计、陀螺仪和/或磁力计。图像的移动数据可包括从IMU 113接收的惯性加速度测量,和/或从IMU 113或单独的陀螺仪接收的取向数据。

在一些实施方式中,图像的移动数据仅包括从陀螺仪接收的取向数据。例如,来自陀螺仪的取向数据可用于确定在捕获图像时发生的取向变化。

相机应用114可以使用图像的移动数据(例如,从IMU 113接收的数据)来确定图像的质量分数。图像的质量分数可以表示图像的预期图像质量。图像的质量分数可以基于(例如,反比于)捕获图像时相机112的旋转运动的度量,其可以使用移动数据来确定。图像的质量分数可以基于在捕获图像时相机112的取向变化。例如,在捕获图像之前、期间和之后指定移动设备110的取向的取向数据可以用于确定在捕获图像时相机112的取向是否正在改变。

相机应用114可以基于图像的质量分数从多个图像中选择一个或多个图像用于进一步分析。例如,相机应用114可以选择具有最高质量分数(例如,最小旋转运动量或最小移动量)的图像用于进一步分析。相机应用114还可以使用图像的新近度(recency)来确定将哪个图像用于进一步处理。然后,相机应用114可以发送选择的图像的图像数据用于进一步处理,例如,通过下面描述的粗略分类器123。然后,相机应用114可以捕获附加图像并从附加图像中选择另一图像用于进一步分析。在该示例中,粗略分类器123可以请求另一图像或通知相机应用114它已经为另一图像做好准备。作为响应,相机应用114可以将选择的图像发送到粗略分类器123。

相机应用114可以连续分析图像并存储最佳图像,同时等待粗略分类器123完成对先前图像的处理或以其他方式准备好分析另一图像。例如,相机应用114可以存储自先前图像的图像数据被发送到粗略分类器123起已经捕获的图像集中具有相关联的最高质量分数的最高质量图像的图像数据。在等待期间,相机应用114可以接收另一图像。相机应用114可以确定新接收的图像的质量分数(例如,旋转运动的度量)。相机应用114可以将存储的最佳图像的质量分数与新接收的图像的质量分数进行比较。如果新接收的图像的质量分数大于存储的最佳图像的质量分数,则相机应用114可以用新接收的图像的图像数据替换存储的最高质量图像的图像数据。以这种方式,相机应用114在等待的同时存储接收的最高质量图像的图像数据,直到执行后续分析的时间。通过仅存储最高质量图像的图像数据,相对于存储多个图像的图像数据,减少了用于存储图像数据的存储器量。

相机应用114可以使用缓冲器来存储图像数据。例如,相机应用114可以将新接收的图像的图像数据存储在图像缓冲器中。相机应用114还可以将最高质量图像的图像数据存储在被选图像缓冲器中。如果与在被选图像缓冲器中存储的图像数据的图像相比,新接收的图像具有更高的质量分数,则相机应用114可以用新接收的图像的图像数据替换被选图像缓冲器中的图像数据。在另一示例中,如果与在被选图像缓冲器中存储的图像数据的图像相比,新接收的图像具有更高的质量分数,则相机应用114可以更新被选帧指针以指向图像缓冲器。相机应用114可以例如在预定时间间隔之后或者当粗略分类器123准备好处理另一图像时,将存储在被选图像缓冲器中的图像数据提供给粗略分类器123。

在一些实施方式中,相机应用114基于指示捕获每个图像时相机112的移动(例如,旋转运动)的数据、结合捕获每个图像的时间,从多个图像中选择用于进一步分析的图像。例如,与旧图像的质量分数相比,具有稍低质量分数(例如,在阈值量内)的较新近接收的图像可以是优选的,因此被选择。

可以使用三级(three-tier)策略从多个图像中选择图像。在该示例中,如果图像具有小于第一阈值的质量分数,则图像可能根本不被使用,因为图像质量不足以检测或识别图像中描绘的对象。通过不将这种低质量图像发送到后续阶段,避免了否则将使用的计算能力和电功率。如果一个或多个图像具有大于第二阈值(其高于第一阈值)的质量分数,则相机应用114可以选择具有大于第二阈值的质量分数的最新近图像。如果多个图像中的没有图像具有大于第二阈值的质量分数,但是一个或多个图像具有在两个阈值之间的质量分数,则相机应用114可以选择所述一个或多个图像中具有最高质量分数的一个。

在一些实施方式中,相机应用114可基于指示在捕获图像时相机114的移动的数据和图像的视觉特性来选择用于进一步分析的图像。相对于仅使用视觉特性,使用指示相机114的移动的数据可以减少确定图像质量所需的视觉特性的数量和/或视觉特性的类型。

在一些实施方式中,相机应用114可基于图像的光特征选择用于进一步分析的图像。光特征是那些基于视觉输入计算的特征,但是其计算强度低于使用视觉分析检查图像的方式。例如,图像的质量分数可以基于指示相机114的移动的数据和图像的光特征的组合。可以在图像的元数据中指定光特征。光特征可以包括亮度信息、焦点信息、指示包括图像内高水平对比度的特性的直方图、和/或图像内对象的移动(例如,基于先前图像内对象的位置和当前图像内同一对象的位置)。与光数据类似,可以使用元数据中已经指定的图像的其他特征,因为该数据不需要进一步的图像分析。

在一些实施方式中,图像选择过程在硬件中执行,例如,与移动设备110的处理器分离的硬件电路或控制器。以这种方式,移动设备的处理器不必为了图像选择过程处理任何数据或执行任何指令,导致对处理器的需求进一步减少。例如,硬件电路可以从IMU、陀螺仪或其他传感器接收移动数据,并使用该数据来确定图像是否具有足够的质量(例如,小于移动或旋转抖动的阈值量)以被发送到粗略分类器123。如果硬件电路检测到图像具有足够的质量,则硬件电路可以唤醒处理器并使处理器对图像执行粗略分类。

可以包括多个粗略分类器的粗略分类器123检测图像中描绘的一个或多个对象类别的存在。粗略分类器123可以基于图像是否包括指示对象类别的一个或多个特征来检测对象类别的存在。粗略分类器123可以包括轻量级模型以执行低计算分析来检测其(多个)对象类别内的对象的存在。例如,粗略分类器123可以针对每个对象类别检测图像中描绘的有限的视觉特征集,以确定图像是否描绘了落入对象类别内的对象。在特定示例中,粗略分类器123可以检测图像是否描绘了被分类到以下类别中的一个或多个类别中的对象:文本、条形码、地标、媒体对象(例如专辑封面、电影海报等)、或者艺术品对象(例如绘画、雕塑等)。对于条形码,粗略分类器123可以确定图像是否包括具有不同宽度的平行线。

在一些实施方式中,粗略分类器123使用训练的机器学习模型(例如,卷积神经网络)来基于图像的视觉特征对图像进行分类。例如,可以使用标记有相应(多个)类别的标记图像来训练机器学习模型。可以训练机器学习模型以将图像分类到特定的对象类别集中的零个或多个对象类别中。机器学习模型可以接收与图像的视觉特征相关的数据作为输入,并且输出到特定对象类别集中的零个或多个对象类别中的分类。

粗略分类器123可以输出指定是否在图像中检测到对象类别的数据。粗略分类器123还可以输出指示在图像中检测到对象类别的存在的置信度的置信度值和/或指示在图像中描绘了实际对象(例如,艾菲尔铁塔)的置信度的置信度值。

在一些实施方式中,相机应用114包括多个粗略分类器。在该示例中,每个粗略分类器可以检测特定对象类别的存在并输出该特定类别的置信度分数。多个粗略分类器中的每一个可以检测与每个其他粗略分类器不同的对象类别的存在。

在一些实施方式中,粗略分类器123是复合粗略分类器123,其可以例如同时地确定多个粗略分类器的置信度分数。例如,复合粗略分类器可以针对图像同时确定多个不同对象类别的置信度分数。复合粗略分类器可以包括每个分类公用的核心部分和几个模块,每个模块确定对象类别的每类别概率(per-class probability)。这可以例如通过减少冗余计算来减少相机应用114为检测图像中描绘的一个或多个对象类别的存在而执行的总体计算。

粗略分类器123还可以输出指定关于在图像中检测到的对象的数据的注释,并将该数据提供给一个或多个视觉分析器134。例如,如果粗略分类器123检测到图像中存在文本,则粗略分类器123可以提供指定文本所在位置和文本取向的注释。粗略分类器123还可以提供指定检测到的文本类型(例如电话号码、地址等)的注释。这样的数据可以节省稍后由文本分析器126执行OCR以识别实际文本的计算成本和时间。类似地,如果粗略分类器123在图像中检测到条形码,则粗略分类器123可以提供指定条形码的位置和类型的注释,以节省条形码分析器128读取/解码条形码的计算成本和时间。

如上所述,可以在适当的时间(诸如当针对先前图像完成粗略分类时)选择图像用于粗略分类。在一些实施方式中,相机应用114可以基于处理速率周期性地执行对图像的粗略分类。例如,相机应用114可以每秒(或一些其他时间段)选择一个图像(或从被选帧缓冲器中提取存储的最佳图像),并对图像执行粗略分类。

在一些实施方式中,相机应用114可以基于粗略分类器123是否已经在一个或多个先前分析的图像中检测到一个或多个对象类别的存在来动态地和自动地调整处理速率。例如,如果相机112没有在捕获被分类在粗略分类器123被配置为检测的对象类别之一内的对象的图像,则相机应用114可以降低粗略分类器123分析图像的速率。在该示例中,如果在先前图像(或阈值数量的先前图像)中未检测到对象类别的存在,则相机应用114可降低处理速率以增加每个粗略分类之间的时间段。当正在捕获未描绘相关对象的图像时,这可以减少执行粗略分类消耗的计算能力和电功率的量。例如,该处理速率调整可以导致较少的CPU周期用于分类图像。

类似地,如果在先前图像(或至少阈值数量的先前图像)中检测到至少一个对象类别的存在,则相机应用114可以增加处理速率以减少每个粗略分类之间的时间段。以这种方式,当用户正使用相机112捕获相关对象的图像时,相机应用114可以向用户标识并呈现有用且相关的内容。这种增加的处理速率可以是暂时的。例如,在指定时间段之后,或者响应于在图像或者至少阈值数量的图像中没有检测到对象类别的存在,处理速率的增加可以降低到正常处理速率(或者降低的处理速率)。

相机应用114可以基于自用户打开相机应用114或选择执行图像分析和内容呈现的相机应用的模式以来的时间量来调整粗略分类的处理速率。例如,用户可以在打开相机应用114或进入分析和内容呈现模式之后,更积极地捕获图像和查看与图像中描绘的对象相关的内容。在该示例中,当相机应用114被打开或者进入分析和内容呈现模式时,相机应用114可以使用更快的处理速率,然后在经过了指定的时间量之后或者在粗略分类器123已经评估了至少阈值数量的图像而没有检测到至少一个对象类别中的对象之后,使用较慢的处理速率。

相机应用114可以基于与相机应用114的用户交互来调整用于粗略分类的处理速率。例如,如果用户已经与基于分析的图像提供的结果或其他内容交互,则相机应用114可以增加用于粗略分类的处理速率或者保持初始快速处理速率。相机应用114可以基于当前会话中与相机应用114的用户交互的频率和/或包括用户的历史用户会话的多个用户会话中与相机应用114的用户交互的频率来调整处理速率。用户会话可以由相机应用114的打开和关闭和/或图像分析和内容呈现模式的开始和结束来定义。

在一些实施方式中,相机应用114或移动设备110本身包括功率管理系统,该功率管理系统基于先前图像是否已被检测为描绘一个或多个类别的对象来确定和调整用于粗略分类的处理速率。当图像未被粗略分类器分类时,移动设备110的处理器(或用于分析图像的控制器)可以睡眠(例如,进入睡眠模式而不执行指令)以消耗更少的功率。

如果粗略分类器123检测到图像中对象类别的存在,则粗略分类器123可以将图像的图像数据提供给适当的对象识别器134。对象识别器134可以包括识别图像中的文本(例如,识别字符、词等)的文本识别器126、识别(例如,解码)图像中的条形码(例如,包括二维码)的条形码识别器128以及识别图像中的地标(例如,标识实际地标)的地标识别器130。除了分析器126、128和130之外或代替分析器126、128和130,相机应用114可以包括用于其他类型对象的分析器。例如,相机应用114可以包括媒体封面(例如,专辑封面)分析器、艺术品分析器和/或其他适当的分析器。在一些实施方式中,相机应用114包括单个对象识别器,其识别多个不同类别的对象,例如文本、条形码、地标、媒体封面、艺术品等。

如果粗略分类器123检测到图像中存在文本,则粗略分类器123可以将图像的图像数据提供给文本识别器126。如果粗略分类器123检测到图像中存在条形码,则粗略分类器123可以将图像的图像数据提供给条形码识别器128。如果粗略分类器123检测到图像中存在地标,则粗略分类器123可以将图像的图像数据提供给地标识别器130。

在一些实施方式中,粗略分类器123将图像的图像数据提供给该图像针对其具有满足(例如,达到或超过)阈值的置信度值的每一对象类别的每个对象识别器134。例如,粗略分类器123可以确定图像描绘文本的置信度值,并且如果该置信度值满足阈值,则粗略分类器123可以将该图像提供给文本识别器126。

每个对象识别器134可以执行比粗略分类器123更详细的图像分析,以识别从粗略分类器123接收的图像中描绘的对象。例如,对象识别器134可以使用边缘检测、模式识别和其他计算机视觉技术来识别图像中描绘的对象并从图像中提取信息。

文本识别器126可以使用光学字符识别(OCR)来识别图像中描绘的文本。条形码识别器128可以读取/解码图像中描绘的条形码,并获得关于由条形码表示的对象(例如,产品)的信息。地标识别器130可以使用地标的图像数据和模式识别来识别图像中描绘的地标。在一些实施方式中,相机应用114存储对象索引115,该对象索引115包括特定对象的图像数据和条形码数据,用于识别对象和读取图像中描绘的条形码。对象的图像数据可以包括指定对象的视觉特征的数据,该数据可以在计算机视觉分析中用于识别对象的图像。

相机应用114可以对至少一些对象类别执行帧间处理。例如,相机应用114可以对文本识别器126已经识别出文本的图像执行帧间处理127,并且相机应用114可以对地标识别器130已经识别出地标的图像执行帧间处理131。通常,帧间处理利用关于先前图像中识别的对象的数据来检测当前图像中的对象。

用于文本的帧间处理127可以在两个图像中的同一行(或同一部分)文本之间建立相关性,以确定是否检测到相同的文本。然后,相机应用114可以保持文本的最佳版本,例如,文本识别器126已经确定为具有更高质量的文本,这可以提高文本识别的准确性。为了确定文本的两个部分是否相同,相机应用114可以使用帧间处理127来评估两个(或更多)图像中两个文本部分之间的距离以及两个图像中文本之间的编辑距离。相机应用114可以使用帧间处理127,通过使用光学跟踪跟踪文本,基于两个图像中文本部分的位置来直接确定距离,和/或基于移动设备110在两个图像的捕获之间的移动来预测文本将在哪里。编辑距离可以指示在两个图像中的文本部分之间不同的字符的数量或百分比。如果距离和编辑距离都小于阈值,则两个或更多个图像可以是相关的,并且可以保留具有最高置信度值和/或最高质量分数的图像供以后使用。

在一些实施方式中,可以从多个图像中保留文本部分。例如,相机应用114可以使用帧间处理127来逐行地、逐个字符地或逐个词地来对文本进行关联。相机应用114可以标识哪个相关的文本行具有最高置信度和/或最高质量,并为文本分析器126保留图像中具有最高置信度和/或最高质量文本行的部分。类似地,相机应用114可以确定哪个相关的词(或字符)具有最高置信度和/或最高质量,并保留图像中具有最高置信度和/或最高质量词(或字符)的部分。因此,当多个图像具有相同的文本时,例如,由于相机指向相同的文档或其他文本源一段时间,在多个图像部分中识别的文本可以被提供给结果标识器(resultidentifier)132,以提供文本的每个部分的最高质量版本。

用于地标(和其他类型的对象)的帧间处理131可以评估置信度值(由地标识别器130确定),该置信度值指示在确定图像是否描绘特定地标(或对象)时在多个图像中检测到特定地标(或其他对象)的置信度。在一些实施方式中,帧间处理131使用多个阈值来确定在将图像分类为地标以用于结果标识器132之前,序列中多少图像必须被标识为描绘了特定地标。例如,如果指示图像描绘地标的置信度值大于第一阈值,则相机应用114可以确定在将图像分类为描绘特定地标之前,第一数量的图像必须被分类为描绘特定地标。如果置信度值小于第一阈值但大于第二阈值,则相机应用114可以要求第二数量的图像被分类为描绘特定地标,以便确定图像描绘特定地标,其中第二数量高于第一数量。

结果标识器132可以标识用于在移动设备110(例如,在相机应用114内)呈现的内容。例如,如果图像包括条形码,则结果标识器132可以标识由条形码表示的对象并呈现与对象相关的内容(例如,图像、名称等)。如果图像包括地标,则结果标识器132可以标识并在用户界面116中呈现与地标相关的内容,例如,地标的照片、到地标的地图等。

结果标识器132可以标识内容数据存储116中的识别的对象的内容。内容数据存储116可以包括用于对象集中的每一个对象的内容。内容数据存储116中的内容可以例如通过相机应用114加载到移动设备110上。内容可以包括可以由移动设备110呈现的文本、图像、视频和/或其他适当的内容。

可以在用户界面116中将标识的对象内容与图像一起呈现。例如,可以在取景器中呈现内容,其中在相机应用114内在取景器中描绘图像。在该示例中,内容可以在检测到对象、文本或条形码的相机的实时视图上的覆盖层中呈现。

如果粗略分类器123检测到图像中描绘的多于一个的对象类别,则结果标识器132可以标识每个类别的结果并且为每个类别呈现至少一个结果。例如,相机应用114可以呈现结果页面,该结果页面包括与图像中检测到的每个对象类别相对应的结果。

在一些实施方式中,相机应用114可以呈现图标,用户可以使用图标来请求与检测到的对象相关的内容。例如,如果图像包括电话号码,相机应用114可以呈现图标,如果用户与该图标交互(例如,图标被用户选择),则该图标使得移动设备110启动对该电话号码的呼叫。如果检测到条形码,相机应用114可以呈现图标以启动用于购买由条形码表示的产品的购物应用,呈现图标以使用搜索应用或网络浏览器启动对产品的搜索,和/或呈现图标以分享产品,例如使用社交网络应用(social networking application)。如果检测到地标,则相机应用114可以呈现图标以启动地图应用来呈现到地标的地图,呈现图标以启动对地标的搜索,和/或呈现图标以查看地标的图像。图标可以与图像一起呈现,例如,在相机应用114的取景器内。

在一些实施方式中,相机应用114可以在相机应用114的用户界面116中突出(highlight)正被检测的对象,使得用户可以看到正在检测什么对象。例如,当用户将相机112指向对象时,粗略分类器123可以检测对象类别的存在,并且可以将图像发送到一个或多个对象识别器134用于分析。当图像由一个或多个对象识别器134分析时,相机应用114可以突出被识别的对象。

在一些实施方式中,相机应用114为用户定制对象索引115和/或内容数据存储116中的内容。例如,如果相机应用114接收到指示用户将前往特定地点的数据,相机应用114可以更新对象索引115,以包括位于该特定地点的对象、地标等的图像数据和/或条形码数据。相机应用114还可以更新内容数据存储116,以包括与位于特定地点的对象、地标等相关的内容。

在一些实施方式中,图像分析和结果标识的一些元件位于视觉分析服务器150处。例如,视觉分析服务器150可以包括视觉分析器152,其识别通过数据通信网络140(例如局域网(local area network,LAN)和广域网(wide area network,WAN),例如因特网,从相机应用114接收的图像中描绘的对象。视觉分析服务器150还可以包括结果处理器154,其标识与视觉分析器152识别的对象相关的结果或其他内容,并将结果或内容提供给移动设备110。在该示例中,图像选择器122和粗略分类器123可以在移动设备110上实施,例如,作为相机应用114的一部分。

相机应用114可以向视觉分析服务器154提供粗略分类器123针对图像检测到对象类别或特征数据的存在的图像部分。例如,如果粗略分类器123检测到图像中存在地标,则相机应用114可以将包括地标的图像部分提供给视觉分析服务器150,而不提供整个图像。

类似于相机应用实施方式,如果图像选择器122未选择图像(例如,因为具有的质量分数未达到阈值),则相机应用114可以确定不向视觉分析服务器150发送图像(或者图像的一部分)。类似地,如果粗略分类器123没有检测到图像中存在对象类别,则相机应用114可以确定不向视觉分析服务器150发送图像(或图像的一部分)。

尽管图像选择和图像分析的阶段被示出为按顺序执行,但是一些阶段可以并行执行。例如,可以通过(多个)粗略分类器同时对多个图像进行分类。类似地,可以通过多个粗略分类器并行地分析图像。

在一些实施方式中,图像选择器122被实施为移动设备110的控制器或控制器的一部分。在该示例中,粗略分类器123和/或对象识别器134可以在例如移动设备110或视觉分析服务器150的图像处理装置上实施。

图2是示出用于分析图像并提供与图像中描绘的一个或多个对象相关的内容的示例过程200的流程图。过程200的操作可以例如由包括一个或多个数据处理装置的系统,如图1的移动设备110,来实施。过程200也可以由存储在计算机存储介质上的指令来实施,其中由包括数据处理装置的系统执行指令使得数据处理装置执行过程200的操作。

对于由移动设备相机捕获的图像,系统访问指示在相机捕获图像时相机的移动的数据(202)。例如,系统可以接收图像流(例如,视频流)。系统还可以对于每个图像获得指示其上安装了相机的设备的移动的数据。例如,每个图像的移动数据可以从一个或多个环境传感器接收,环境传感器如陀螺仪、加速度计或IMU。对于每个图像,移动数据可以指示在捕获图像时设备的移动。例如,系统可以在相机捕获图像时从传感器请求移动数据。

在另一示例中,系统可以向环境传感器提供包括捕获图像的时间的时间窗口。作为响应,环境传感器可以提供在时间窗口期间由环境传感器检测到的移动数据。然后,系统可以基于该数据确定在捕获图像时相机如何移动。

系统基于图像的移动数据从图像中选择用于分析的特定图像(204)。系统可以选择设备移动最少或旋转运动最少的图像。如上所述,还可以基于捕获图像的时间相对于捕获其他图像的时间和/或基于图像的光特征来选择图像。可以独立于图像的视觉特性、或者结合图像的视觉特性进行选择。

系统使用一个或多个粗略分类器分析特定图像,以检测特定图像中描绘的一个或多个对象类别的存在(206)。每个粗略分类器可以被配置为检测相应对象类别的存在,例如文本、地标、艺术品、媒体封面、条形码等。每个粗略分类器可以输出指定特定图像是否描绘其对象类别的数据以及指示粗略分类器对其确定具有的置信度的置信度值。每个粗略分类器还可以输出注释,注释包括描述检测到的对象的特性的数据,例如位置、取向等。

响应于检测到图像中存在至少一个对象类别,系统分析图像以识别图像中描绘的一个或多个对象(208)。例如,系统可以使用一种或多种计算机视觉技术来识别图像中描绘的对象。所使用的技术可以基于粗略分类器在图像中检测到的对象的(多个)类别。例如,如果图像被分类为具有条形码,则系统可以使用条形码识别器来读取条形码并标识条形码涉及的产品。

系统呈现与一个或多个标识的对象相关的内容(210)。例如,系统可以在图像上的一个或多个覆盖层中或在结果页面上呈现内容。系统可以呈现图标,当用户与图标交互时,图标使得系统呈现与图像中识别的对象相关的内容。例如,图标可以包括启动对识别的对象的搜索、显示到识别的地标的地图、呈现识别的对象的其他图像等的图标。

图3是示出用于选择图像用于进行分析的示例过程300的流程图。过程300的操作可以例如由包括一个或多个数据处理装置的系统,如图1的移动设备110,来实施。过程300还可以由存储在计算机存储介质上的指令实施,其中由包括数据处理装置的系统执行指令使得数据处理装置执行过程300的操作。

系统接收由移动设备相机捕获的图像的移动数据(302)。如上所述,移动数据可以指示在图像被移动设备相机捕获时移动设备相机的移动。移动设备相机可以按序列捕获图像,例如,作为视频流。在一些实施方式中,移动设备相机以范围为20-70帧/秒的速率捕获图像。

系统基于移动数据确定图像的预期质量(304)。例如,图像的预期质量可以基于捕获图像时移动设备相机的移动量。在该示例中,较多的移动可以导致较低的质量分数,因为移动可能由于模糊而降低图像的质量。

系统确定图像的预期质量是否大于其图像数据被存储的最高质量图像的预期质量(306)。例如,系统可以仅存储单个图像的图像数据,并且该单个图像可以是自从先前图像被发送到粗略分类器起捕获的图像当中的最高质量图像(基于预期质量)。每次接收到新图像时,系统可以确定新接收的图像是否具有比其图像数据当前被存储的最高质量图像更高的预期质量。

如果新接收的图像没有比先前标识的最高质量图像更高的预期质量,则系统继续存储先前存储的最高质量图像的图像数据,并等待接收另一图像。如果新接收的图像具有比最高质量图像更高的预期质量,则系统用新接收图像的图像数据替换最高质量图像的图像数据(308)。

在一些实施方式中,系统基于为最高质量图像存储的图像数据来设置预期图像质量的替换阈值。在该示例中,如果新接收的图像的预期图像质量超过替换阈值,则系统用新接收图像的图像数据替换最高质量图像的图像数据。系统可以随时间减少替换阈值。

系统确定是否向粗略分类器提供最高质量图像的图像数据(310)。在一些实施方式中,系统基于预定时间段向粗略分类器提供图像数据。在一些实施方式中,系统响应于从粗略分类器接收到请求,向粗略分类器提供图像数据。

如果系统确定不向粗略分类器提供图像数据,则系统继续接收图像并确定是否替换最高质量图像的图像数据,直到确定向粗略分类器提供图像数据。以这种方式,系统仅存储最高质量图像的图像数据。

如果系统确定向粗略分类器提供图像数据,则系统向粗略分类器提供图像数据用于分类(312)。

图4是示出用于调整分析图像的处理速率的示例过程400的流程图。过程400的操作可以例如由包括一个或多个数据处理装置的系统,如图1的移动设备110,来实施。过程400还可以由存储在计算机存储介质上的指令实施,其中由包括数据处理装置的系统执行指令使得数据处理装置执行过程400的操作。

系统接收图像的图像数据(402)。图像数据可包括图像的图像像素数据,包括图像的每个像素的颜色值。

系统确定图像是否包含分类在一个或多个类别中的对象(404)。例如,如上所述,系统可以使用粗略分类器来确定图像是否包含分类在一个或多个类别中的对象。

如果系统确定图像不包含分类在一个或多个类别中的对象,则系统降低用于分析图像以确定图像是否包含一个或多个类别的对象的处理速率(406)。例如,系统可以使用粗略分类器基于处理速率周期性地分析图像。如果系统确定一个或多个图像不包含类别之一中的对象,则系统可以降低处理速率以降低分析图像的频率。这允许系统在捕获不包含感兴趣对象的图像时减少计算机资源使用和功耗。在降低处理速率之前,系统可以等待直到预定数量的图像(例如,五个、十个或另一适当的数量)不包含类别之一中的对象。

如果系统确定图像确实包含分类在至少一个类别中的对象,则系统增加处理速率(408)。例如,系统可以将处理速率提高到当图像包含感兴趣的对象时系统使用的活跃处理速率(active processing rate)。如果处理速率已经处于活跃处理速率,则系统可以保持处理速率不变。

系统发送包含至少一个类别的对象的图像用于进一步分析(410)。例如,系统可以将图像发送到识别至少一个类别的对象的对象识别器。

本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)中实现,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形的非暂时性程序载体上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。替换地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以编码信息,用于传输到合适的接收器装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行访问存储设备,或者它们中的一个或多个的组合。

术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(field programmable gate array,现场可编程门阵列)或ASIC(application specificintegrated circuit,专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合。

计算机程序(也可以被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、或声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,例如存储一个或多个模块、子程序或部分代码的文件中。可以部署计算机程序以在一个计算机上执行或在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPGPU(General purpose graphics processingunit,通用图形处理单元)。

举例来说,适于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,或者被可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传送到一个或多个大容量存储设备,或两者。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(Global Positioning System,GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几例。

适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备,例如CRT(cathode ray tube,阴极射线管)或LCD(liquid crystal display,液晶显示器)监视器,以及键盘和定点设备,例如鼠标或轨迹球,用户可以通过键盘和定点设备向计算机提供输入。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户客户端设备上的网络浏览器发送网页。

本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或网络浏览器与本说明书中描述的主题的实施方式交互,或者一个或多个这样的后端、中间件或前端组件的任意组合。系统的组件可以通过任何形式或介质的数字数据通信相互连接,例如通信网络。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

虽然本说明书包含许多具体的实现细节,但这些不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。本说明书中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实施。此外,尽管上述特征可以被描述为以某些组合起作用,甚至最初被如此要求保护,但是在某些情况下,可以从要求保护的组合中删除该组合中的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。

已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于构建鲁棒的深度卷积神经网络的滤波器重用机制

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!