基于深度神经网络的对象检测的制作方法

文档序号:17049668发布日期:2019-03-05 19:55阅读:159来源:国知局
基于深度神经网络的对象检测的制作方法

计算机视觉的两大主要任务是对象分类和对象检测。对象分类的主要目的是对图像中的主要对象正确地分配标签,而对象检测的主要目的是针对图像中的一个或多个对象(甚至所有对象)提供正确的标签和位置。在对象检测中,可以针对图像中的对象绘制包围盒来界定对象的边界,并确定这些对象的类别。例如,在自动驾驶中,可以使用相机来拍摄周围环境的视频,以检测其他车辆、行人、自行车等对象,从而确保驾驶安全和合规。

图像或视频的每一帧都可能包括多个对象,其中一些对象可能互相重叠等。因此,在对象检测任务中,性能是一个非常关键的因素。近年来,随着深度神经网络的快速发展,对象检测的性能有着大幅度的提升。然而,仍然存在进一步持续改善对象检测的性能的需要。



技术实现要素:

根据本公开的实现,提供了一种基于深度神经网络的对象检测方案。在该方案中,给定输入图像,期望确定输入图像内的一个或多个对象的类别和边界。具体地,从图像的特征图生成多个通道组,所述图像至少包括与第一网格相对应的区域。从所述多个通道组中的与所述第一网格中的单元相关联的至少一个通道组提取目标特征图。基于所述目标特征图,确定与所述区域内的对象有关的信息。与对象有关的信息可以是对象的类别和/或边界。

提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。

附图说明

图1示出了能够实施本公开的多个实现的计算设备的框图;

图2示出了根据本公开的一个实现的特征提取网络的架构;

图3示出了根据本公开的一个实现的用于生成特征库的示意图;

图4示出了根据本公开的一个实现的池化操作的示意图;

图5示出了根据本公开的另一实现的池化操作的示意图;以及

图6示出了根据本公开的一个实现的用于对象检测的方法的流程图。

这些附图中,相同或相似参考符号用于表示相同或相似元素。

具体实施方式

现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本主题的范围的任何限制。

如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

示例环境

以下参考附图来说明本公开的基本原理和若干示例实现。图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。

在一些实现中,计算设备100可以被实现为具有计算能力的各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。

处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(cpu)、微处理器、控制器、微控制器。

计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或其某种组合。存储器120可以包括图像处理模块122,这些程序模块被配置为执行本文所描述的各种实现的功能。图像处理模块122可以由处理单元110访问和运行,以实现相应功能。

存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。

通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。

输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。

计算设备100可以用于实施本公开的多种实现的图像或视频中的对象检测。视频由于可以被看作按照时间轴叠加的一系列图像,因此,在本文中在不会导致混淆的情况下可以将图像与视频互换使用。因此,在下文中,计算设备100有时也被称为“图像处理设备100”。在执行对象检测时,图像处理设备100能够通过输入设备150接收图像170。图像处理设备100可以处理该图像170以将识别出该图像170中的一个或多个对象,并且界定一个或多个对象的边界。图像处理设备100可以通过输出设备160输出经确定的对象和/或其边界,以作为图像处理设备100的输出180。

对象检测指的是确定一副图像中的一个或多个对象的类别并且确定该一个或多个对象的边界。例如,在一副包括人和汽车的图像中,识别出该图像包括人和汽车两个对象,并分别确定人和汽车的边界。在实际图像处理中,一副图像可以包括多个类别的对象,并且每一类别的对象都可以包括多个实例。在一些实现中,可以通过包围盒(boundingbox)来界定对象的实例。相应地,确定对象的边界等价于确定包围盒的边界。例如,包围盒可以具有矩形边界。

用于检测的对象在不同位置通常具有不同的空间特性,例如,人的头部通常位于上部。然而,在目前的方案中,通常独立于位置来提取特征,即在特征图的所有通道上提取不同位置的特征。这种对象检测方案的性能仍然存在进一步持续的必要。因此,根据本公开的实现,基于对象的不同的位置来提取特征图中的特征。例如,在特征图的不同通道上提取不同位置的特征。

系统架构

根据本公开的实现,可以使用两级对象检测框架,包括提议生成(proposalgeneration)和区域分类。参照图2,其中示出了根据本公开的一个实现的用于对象检测的系统200的架构,具体为特征提取网络的架构。可以使用现有的或将来开发的任何提议生成方法来获得区域提议,本公开在这一方面不受限制。为了突出本发明的特点,没有示出提议生成部分。图2所示的架构可以被实现在图1的计算设备100的图像处理模块122处。

如图2所示,系统200将从输入设备150接收到的图像210发送给卷积神经网络,以将图像210转换为特征图220。卷积神经网络可以是用于特征提取的现有的或者将来开发的卷积神经网络,包括,例如resnet、googlenet、vgg、alexnet等。在一些实现中,特征图220可以是整副图像210的特征图。在一些实现中,卷积神经网络可以是全卷积网络,例如,resnet和googlenet。特征图220也可以被称为卷积特征图。

如图2所示,特征图220包括c个通道,并且其空间维度为h×w。因此,特征图220的尺寸为h×w×c。例如,对于resnet-101,特征图220的通道数c为2048;对于googlenet,特征图220的通道数c为1024。

响应于获得特征图220,系统200可以将特征图220转换为特征库230。卷积操作可以由卷积层来实现。特征库可以包括多个通道组,其中图2示出了9个通道组。

在一些实现中,可以通过卷积操作将特征图220转换为特征库230。卷积操作可以由卷积层来实现。例如,可以通过卷积层生成针对整个图像的n个通道组,从而针对特征图220中的每个空间位置提取n×cs维的特征,其中cs为一个通道组的通道数目。每个通道组内的通道数目cs可以小于特征图220的通道数目c,以达到降维的效果。例如,每个通道组的通道数目cs可以是20、40等。由于空间选择性池化层的引入,尽管在特征库230中引入了降维的特性,然而仍然能够保持系统的精度。

在一些实现中,区域提议网络(rpn)可以基于特征图220来生成区域提议或感兴趣区域(roi),以用于对象检测。由于rpn可以与对象检测共享相同的卷积网络,可以节省计算量,并减少计算开销。如图2所示,针对每个roi,可以对特征库230应用选择性池化层,以获得目标特征图240。以这种方式,可以针对特定的通道范围来池化roi在特征库230中的每个空间位置的特征。例如,池化操作可以是最大池化或平均池化等。

如图2所示,可以将所提取的目标特征图240提供给全连接层,以获得特征向量250。由于全连接层与目标特征图240的每个特征进行连接,因此可以将目标特征图中的特征有机地融合在一起。得益于选择性池化所提取的目标特征图,可以将检测子网络简化为一个轻量级的全连接层,例如100维、400维等。该全连接层可以比常规的roi分类器具有明显更少的参数。此外,这一设计还能够实现较少的运行时间、加速检测等优点。

在一些实现中,可以在特征向量250之后设置两个全连接层,以分别获得特征向量260和270。以这种方式,可以用于获得roi的分类得分和包围盒回归偏移,从而可以确定roi内对象的类别及其精确的边界。图2所示的系统200内的检测子网络仅包括三个全连接层,其中一个全连接层可以将目标特征图240中的特征进行有效的关联和整合以获得特征向量250,第二全连接层可以将特征向量250针对分类应用进行设计和训练以获得特征向量260,并且第三全连接层可以将特征向量250针对回归应用进行设计和训练以获得特征向量270。可见,检测子网络是非常简洁有效的检测子网络,与常规需要更多层的检测子网络相比显著提高了计算效率。

利用有效的特征表示和检测子网络,这一架构可以实现降维和区域选择的效果,从而能够在保证较少的参数和快速测试速度的情况下实现良好的性能。以下将结合图3-图5详细介绍特征库的生成和选择性池化的示例性实施例来更清晰地介绍本方案的原理。应当理解,提供图3-图5仅为了示例的目的,而不以任何方面限制本公开的范围。

特征库

参照图3,其中示出了根据本公开的一个实现的用于生成特征库230的系统300的架构。如图3所示,网格320对应于一个roi,包括九个单元。相应地,特征库230包括九个通道组,并且每个通道组可以包括cs个通道。换言之,特征库230包括与网格320的单元数相同数目的通道组。因此,特征库的尺寸为h×w×ncs,其中h和w是特征图的空间维度,并且特征库的通道数目是ncs。

如图3所示,当特征图220的一个空间位置位于网格320的左上角时(由网格330示出),该空间位置的特征向量被提取到第一通道组。当特征图220的一个空间位置位于网格320的中心时(由网格340示出),该空间位置的特征向量被提取到第五通道组。当特征图220的一个空间位置位于网格320的右下角时(由网格350示出),该空间位置的特征向量被提取到第九通道组。图3中仅标识了三个代表性的通道组,然而,应当理解,其他通道组也具有类似的表示形式和处理方式。以这种方式,针对特征图的每个空间位置,提取出包括九个向量的特征向量,从而形成特征库230。

在特征库230中,每个通道组对应于roi的某个子区域或者网格320的某个单元。例如,在图3的示例中,第一通道组对应于网格320的左上角的单元,第五通道组对应于网格320的中心的单元,并且第九通道组对应于网格320的单元等等。

以上结合图3介绍了用于生成特征库的构思,然而应当理解,在将特征图220转换为特征库230的过程中,仅涉及将卷积层应用于特征图220上,而不涉及空间相关操作。特征库230的不同通道组的空间相关性是借助于选择性池化提取目标特征图在训练过程中而获得的。

应当理解,网格320的大小可以是其他尺寸,例如,2×2。在这种情况下,如果将每个通道组的通道数目cs设置为40,将生成总计160个通道的特征库。每40个通道分别对应于网格的左上、右上、左下和右下的位置。因此,在后续的选择性池化中,网格内的每个单元可以根据其相对位置从对应的40个通道中被池化。

选择性池化

参照图4,其中示出了根据本公开的一个实现的池化操作的示意图。为了方便说明,图4仅示出了特征库230在空间维度的截面的一部分。这一部分由roi或者池化网格来确定。

在图4中,池化网格(也称第一网格)的尺寸被设置为3×3,从而与图3中用于构建特征库230的网格320(也称第二网格)的尺寸完全相同。池化网格可以是由rpn获得的roi,并且图像至少包括与池化网格相对应的区域。在一些实现中,可以通过基准框(anchorbox)方式来获得图像中的区域提议。以这种方式,一个roi或池化网格可以对应于图像中九个不同大小的区域。

如图4所示,网格410、450和490分别示出了特征库230中的不同的通道组。网格410对应于第一通道组,包括通道1至cs;网格450对应于第五通道组,包括通道1+(5-1)cs=1+4cs至通道5cs;网格490对应于第九通道组,包括通道1+(9-1)cs=1+8cs至通道9cs。图4中仅示出了三个代表性的通道组,然而,应当理解,其他通道组也具有类似的表示形式和处理方式。

如上所述,在生成特征库230的过程中,第一通道组对应于左上角的单元。因此,如果确定池化网格的第一单元411与网格320中对应于第一通道组的单元重叠,则针对第一单元411可以选择第一通道组执行池化操作。在生成特征库230的过程中,第五通道组对应于中心的块。因此,如果确定池化网格的第二单元450与网格320中对应于第五通道组的单元重叠,则针对第二单元450可以选择第五通道组执行池化操作。在生成特征库230的过程中,第九通道组对应于右下的块。因此,如果确定池化网格的第三单元490与网格320中对应于第九通道组的单元重叠,则针对第二单元490可以选择第九通道组执行池化操作。

在对特征库230执行池化操作之后可以生成目标特征图400。目标特征图400具有cs个通道,并具有与池化网格相同的空间维度。由于仅从多个通道组中提取了一部分空间相关通道组,因此,目标特征图400在没有丢失信息的情况下显著提升了计算性能。

以上结合图4介绍了选择性池化的操作方法。总体而言,对于每个roi,选择性池化将特征图上的roi区域内的空间范围池化为固定长度的特征向量h×w×cs,其中h和w是池化大小,cs是所选择的通道数目。具体地,在roi网格或窗口中,第k个通道组具有唯一的空间矩形范围gk。如果第(m,n)个单元位于空间矩形范围gk内,则与索引k具有对应关系。然后,从第k个通道组将第(m,n)个单元中的特征值进行池化。如果第(m,n)个单元属于第k个通道组,则其通道范围是1+(k-1)cs到kcs。因此,roi中的每个池化单元从特征库中的一组不同的cs维的特征中池化。最后,可以获得h×w×cs的固定长度的目标特征图240作为该roi或池化网格的表示。

注意,尽管以上结合图3和图4介绍了池化网格与用于生成特征库230的网格320具有相同的维度,但是两者也可以不同,本公开在此不受限制。参照图5,其中示出了根据本公开的另一实现的池化操作的示意图,其中池化网格的维度是3×3,而特征库生成网格的维度是2×2。

在特征库部分介绍了生成网格的维度是2×2的情形,其中特征库包括4个通道组,分别对应于网格的左上、右上、左下和右下。如510所示,如果确定池化网格的第一单元511与生成网格中对应于第一通道组的单元重叠,则针对第一单元511可以选择第一通道组执行池化操作。因此,对于第一单元511而言,该操作与图4的实现相同。如520所示,如果确定池化网格的第二单元521与生成网格中对应于第一至第四通道组的单元重叠,则针对第二单元521可以选择这四个通道组执行池化操作。这可以通过插值等方法来实现。如530所示,如果确定池化网格的第三单元531与网格中对应于第一和第三通道组的单元重叠,则针对第三单元531可以选择第一和第三通道组执行池化操作。这也可以通过插值方法来实现。

从以上描述可知,无论生成特征库的网格和池化网格的维度是否相同,均可以应用上述方法,这极大地提升了本公开的适用范围。借助于选择性池化,可以从特征图中简单地提取空间相关信息,从而提高检测性能。

示例过程

图6示出了根据本公开一些实现的用于对象检测的方法600的流程图。方法600可以由计算设备100来实现,例如可以被实现在计算设备100的存储器120中的图像处理模块122处。

在620处,从图像的特征图生成多个通道组,图像至少包括与第一网格相对应的区域。在一些实现中,可以通过对图像的特征图执行卷积操作,来生成多个通道组。卷积操作可以由卷积层来实现。卷积层可以是现有的或将来开发的任何适当的卷积层,本公开在这一方面不受限制。

在一些实现中,可以通过卷积神经网络提取图像的特征图。例如,卷积神经网络可以是全卷积神经网络,例如resnet和googlenet。另外,还可以通过区域提议网络(rpn)来获取第一网格以及图像中的与第一网格相对应的区域。例如,第一网格可以具有3×3、2×2等维度,如上。例如,如果第一网格具有3×3的维度,则其具有9个单元。通常,图像上的提议区域可以与一个第一网格相对应。取决于上下文,图像区域或者第一网格也可以被称为roi。

在一些实现中,多个通道组中的每个通道组的通道数目小于特征图的通道数目。例如,如果特征图的通道数是1024,通道组的通道数目可以是20、40等。以这种方式,可以达到降维的效果,从而降低对计算资源的要求,提高计算速度。

在640处,从多个通道组中的与第一网格中的单元相关联的至少一个通道组提取目标特征图。由于仅从多个通道组中提取了部分空间相关通道组,因此,目标特征图在没有丢失信息的情况下显著提升了计算性能。

在一些实现中,可以通过池化操作来提取目标特征图。在一些实现中,多个通道组中的通道组与第二网格中的单元相关联并且具有相同的数目,并且通过池化操作提取目标特征图包括:从第二网格中确定与第一网格中的单元相重叠的至少一个对应单元;将多个通道组中的与至少一个对应单元相关联的至少一个通道组确定为与第一网格中的单元相关联的至少一个通道组;以及对至少一个通道组执行池化操作。

如上,第一网格和第二网格的维度可以相同或者不同。这使得这一技术方案可以得到更加广泛的应用。如果第一网格与第二网格的维度相同,则可以从第二网格中确定与第一网格中的一个单元相重叠的一个单元。在这种情况下,池化操作可以被简单地认为是对于网格中的每个单元从包括特征库230中提取对应的通道组内的特征。

在660处,基于目标特征图,确定与区域内的对象有关的信息。在一些实现中,与区域内的对象有关的信息包括区域内的对象的类别和/或边界。

在一些实现中,可以通过全连接层从目标特征图来确定特征向量,并且基于特征向量来确定与对象有关的信息。得益于640处的选择性特征提取,可以使用轻量级的全连接层实现较好的对象检测效果。在一些实现中,确定与对象有关的信息包括以下至少一项:基于第一特征向量,通过第二全连层确定第二特征向量,以确定对象的类别;以及基于第一特征向量,通过第三全连接层确定第三特征向量,以确定对象的边界。两个不同的全连接层可以针对不同的应用(分类和回归)进行训练,从而获得相应的结果。

示例实现方式

以下列出了本公开的一些示例实现方式。

根据一些实现,提供了一种设备。该设备包括:处理单元;以及存储器,耦合至所述处理单元并且包括存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行动作,所述动作包括:从图像的特征图生成多个通道组,所述图像至少包括与第一网格相对应的区域;从所述多个通道组中的与所述第一网格中的单元相关联的至少一个通道组提取目标特征图;以及基于所述目标特征图,确定与所述区域内的对象有关的信息。

在一些实现中,提取所述目标特征图包括:通过池化操作提取所述目标特征图。

在一些实现中,所述多个通道组中的通道组与第二网格中的单元相关联并且具有相同的数目,并且通过池化操作提取所述目标特征图包括:从所述第二网格中确定与所述第一网格中的所述单元相重叠的至少一个对应单元;将所述多个通道组中的与所述至少一个对应单元相关联的至少一个通道组确定为与所述第一网格中的所述单元相关联的所述至少一个通道组;以及对所述至少一个通道组执行池化操作。

在一些实现中,生成多个通道组包括:通过对所述图像的所述特征图执行卷积操作,来生成所述多个通道组。

在一些实现中,所述动作还包括:通过卷积神经网络提取所述图像的所述特征图。

在一些实现中,所述多个通道组中的每个通道组的通道数目小于所述特征图的通道数目。

在一些实现中,所述动作还包括:通过全连接层从所述目标特征图来确定特征向量;以及基于所述特征向量来确定与所述对象有关的信息。

在一些实现中,确定与所述区域内的对象有关的信息包括:确定所述对象的类别和边界中的至少一项。

根据一些实现,提供了一种计算机实现的方法。该方法包括:从图像的特征图生成多个通道组,所述图像至少包括与第一网格相对应的区域;从所述多个通道组中的与所述第一网格中的单元相关联的至少一个通道组提取目标特征图;以及基于所述目标特征图,确定与所述区域内的对象有关的信息。

在一些实现中,提取所述目标特征图包括:通过池化操作提取所述目标特征图。

在一些实现中,所述多个通道组中的通道组与第二网格中的单元相关联并且具有相同的数目,并且通过池化操作提取所述目标特征图包括:从所述第二网格中确定与所述第一网格中的所述单元相重叠的至少一个对应单元;将所述多个通道组中的与所述至少一个对应单元相关联的至少一个通道组确定为与所述第一网格中的所述单元相关联的所述至少一个通道组;以及对所述至少一个通道组执行池化操作。

在一些实现中,生成多个通道组包括:通过对所述图像的所述特征图执行卷积操作,来生成所述多个通道组。

在一些实现中,所述方法还包括:通过卷积神经网络提取所述图像的所述特征图。

在一些实现中,所述多个通道组中的每个通道组的通道数目小于所述特征图的通道数目。

在一些实现中,所述方法还包括:通过全连接层从所述目标特征图来确定特征向量;以及基于所述特征向量来确定与所述对象有关的信息。

在一些实现中,确定与所述区域内的对象有关的信息包括:确定所述对象的类别和边界中的至少一项。

根据一些实现,提供了一种计算机程序产品,包括有形地存储在计算机可读介质上的指令,所述指令在被机器执行时使所述机器执行方法,所述方法包括:从图像的特征图生成多个通道组,所述图像至少包括与第一网格相对应的区域;从所述多个通道组中的与所述第一网格中的单元相关联的至少一个通道组提取目标特征图;以及基于所述目标特征图,确定与所述区域内的对象有关的信息。

在一些实现中,提取所述目标特征图包括:通过池化操作提取所述目标特征图。

在一些实现中,所述多个通道组中的通道组与第二网格中的单元相关联并且具有相同的数目,并且通过池化操作提取所述目标特征图包括:从所述第二网格中确定与所述第一网格中的所述单元相重叠的至少一个对应单元;将所述多个通道组中的与所述至少一个对应单元相关联的至少一个通道组确定为与所述第一网格中的所述单元相关联的所述至少一个通道组;以及对所述至少一个通道组执行池化操作。

在一些实现中,生成多个通道组包括:通过对所述图像的所述特征图执行卷积操作,来生成所述多个通道组。

根据一些实现,提供了一种计算机可读介质,其上存储有计算机可执行指令,计算机可执行指令在由设备执行时使设备执行以上方面中的方法。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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