
1.本技术实施例涉及人工智能领域,尤其涉及一种进行人物特征识别的人工智能系统及方法。
背景技术:2.随着ai(artificial intelligence,人工智能)技术的发展与广泛应用,对不同场景下的ai计算提出了越来越大的挑战。ai计算的应用从一开始的云端逐渐扩展到边缘端嵌入式系统。
3.目前人物特征识别方法,一般有以下三种:
4.第一种是使用复杂图像处理算法,分析处理人物图像采样数据,识别图像中的人物特征。
5.第二、第三种都是ai方法,第二种是桌面/云端的ai方法,基于ai服务器、ai处理器或gpu(graphics processing unit,图形处理器)等专用硬件,通过强大的硬件ai计算能力来推断图像中的人物特征。
6.第三种是移动设备端ai方法,基于高端芯片,内嵌ai算法来识别图像中的人物特征。
7.前两种方法不利于在边缘端嵌入式系统中应用,第三种往往是使用价格较昂贵的高端芯片,由于成本较高也不利于在追求小而价廉的边缘端嵌入式系统中应用。
技术实现要素:8.本技术提供了一种进行人物特征识别的人工智能系统及方法,可以低成本、高性能的实现人物特征识别。
9.本技术实施例提供了一种进行人物特征识别的人工智能系统,包括:
10.处理芯片,用于解析用于进行人物特征识别的ai模型,确定所要运行的第一部分运算算子、第二部分运算算子及其运行顺序,并根据所述运行顺序调度相应的运算算子对图像数据进行运算得到人物特征识别结果;可编程逻辑器件,用于获取所采集的原始图像并处理成所述图像数据,以及输出所述人物特征识别结果。
11.本技术实施例还提供了一种进行人物特征识别的方法,应用于上述的进行人物特征识别的人工智能系统中,所述方法包括:
12.处理芯片解析用于进行人物特征识别的ai模型,确定所要运行的第一部分运算算子、第二部分运算算子及其运行顺序;
13.可编程逻辑器件获取所采集的图像并处理成图像数据;
14.所述处理芯片根据所述运行顺序调度所述第一部分运算算子和第二部分运算算子对所述图像数据进行运算得到人物特征识别结果;
15.所述可编程逻辑器件输出所述人物特征识别结果。
16.本技术实施例的人工智能系统通过处理芯片和可编程逻辑器件的相互配合,共同
完成使用ai模型进行人物特征识别这一功能,这样可以充分利用处理芯片和可编程逻辑器件各自的优势,仅需较少逻辑资源和有限数据计算能力,就可以实现对于所采集的图像中人物特征的识别以及显示,具有低功耗、低延时、低成本、高性能和易扩展等优点,适合在边缘端嵌入式系统中使用。
17.在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
18.附图用来提供对本技术技术方案的理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
19.图1为本技术实施例的进行人物特征识别的人工智能系统的示意图;
20.图2为一种实施方式中采用片上系统实现ai系统的示意图;
21.图3为本技术实施例的进行人物特征识别的方法的流程示意图;
22.图4为示例中进行人物特征识别的流程示意图;
23.图5为示例中进行人物特征识别的ai系统的结构示意图;
24.图6为示例中图像采集模块的示意图;
25.图7为示例中图像预处理模块的示意图;
26.图8为示例中人物特征识别ai模型推断模块的示意图。
具体实施方式
27.本技术描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本技术所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
28.本技术包括并设想了与本领域普通技术人员已知的特征和元件的组合。本技术已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由所附权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由所附权利要求限定的独特的发明方案。因此,应当理解,在本技术中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
29.此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对所附权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本技术实施例的精神和范围内。
30.本技术实施例提供了一种进行人物特征识别的人工智能系统,如图1所示,包括:
31.处理芯片11,用于解析用于进行人物特征识别的ai模型,确定所要运行的第一部分运算算子、第二部分运算算子及其运行顺序,并根据所述运行顺序调度相应的运算算子对图像数据进行运算得到人物特征识别结果;
32.可编程逻辑器件12,用于获取所采集的原始图像并处理成所述图像数据,以及输出所述人物特征识别结果。
33.本实施例的ai系统能够采用轻量级和低功耗的器件实现人物特征识别,降低了ai模型推断以及人物特征识别的复杂性,解决了边缘端嵌入式系统中应用ai方法识别图像中人物特征时的高复杂、高功耗、高成本的问题,可以通过使用中低端的低功耗轻量化系统装载用于进行人物特征识别的ai模型,降低了全系统功耗,降低了成本,提高了边缘端嵌入式系统应用ai方法识别人物特征的性价比和效率。
34.本实施例中,所述人物特征识别可以但不限于是指确定人物特征是什么、或检测出人物特征等操作,人物特征包括但不限于人物年龄、人物性别等;人物特征识别结果可以但不限于包括以下一项或多项:所检测出的人物特征、识别出的包含人物特征的图像区域、根据人物特征得到的分类结果等。
35.本实施例中,所述用于进行人物特征识别的ai模型可以是任一个可以从原始图像中识别、检测出人物特征(或可以得到根据人物特征进行分类的结果、或可以检测出包含人物特征的图像区域、或可以得到其它和人物特征相关的结果)的ai模型,通常可以通过机器学习的方法得到。人物特征识别结果可以看成是将图像数据输入所述用于进行人物特征识别的ai模型时,该ai模型的输出结果(或者称为该ai模型的推断结论)。
36.本实施例中,输出人物特征识别结果时还可以一并输出原始图像。
37.本实施例中,每个运算算子可以看成是所述ai模型中的一层,或者是ai模型所进行的运算中的一个步骤。运算算子可以但不限于通过函数或任务等形式进行保存,在根据运行顺序调度运算算子时可以但不限于是通过函数名或任务名等调用相应的运算算子。
38.本实施例中,可以预先在处理芯片和可编程逻辑器件中各自装载多个运算算子,其中,装载运算算子可以但不限于是指将实现该运算算子所对应的运算步骤的软件代码保存到处理芯片中,或是根据实现该运算算子的硬件描述语言对可编程逻辑器件进行配置。
39.本实施例中的用于进行人物特征识别的ai模型可以是任一个人物特征识别领域所采用的ai模型,本技术对此不作限制。该ai模型可以是预先训练好的模型;可以在识别过程中更新该ai模型。
40.一些示例性的实施例中,所述第一部分运算算子是指通过所述处理芯片实现的多个运算算子;所述第二部分运算算子是指通过所述可编程逻辑器件实现的多个运算算子。
41.一些示例性的实施例中,所述处理芯片可以但不限于为mcu(micro control unit,微控制单元),所述可编程逻辑器件可以但不限于为fpga(field programmable gate array,现场可编程门阵列)。
42.本实施例中,所述进行人物特征识别的ai系统可以是一个片上系统。
43.本实施例中,前文所描述的处理芯片、可编程逻辑器件进行的操作可以但不限于分别在mcu内核、fpga内核完成。第一、第二部分运算算子可以分别由mcu内核、fpga内核实现。
44.本实施例可以通过一个mcu与fpga片上系统实现ai系统;mcu与fpga片上系统是指将fpga、mcu、存储器、外部设备等与fpga内核连接起来,构成一个mcu控制器加fpga内核的片上系统。基于fpga可编程的特点,该架构具有良好的扩展性。
45.本实施例的一种实施方式中,ai系统以如图2所示的轻量级mcu和低功耗fpga的soc(system on chip,片上系统)为载体,mcu和fpga之间通过共享存储器进行数据交互,实现人物特征识别。该片上系统可以外接摄像头和/或hdmi(high definition multimedia interface,高清多媒体接口)设备以获得所采集到的原始图像,还可以外接图像显示设备以输出人物特征识别结果。
46.本实施例的一种实施方式中,所述第一部分运算算子可以为适于使用mcu软件实现的运算算子,所述第二部分运算算子可以为适于使用fpga内核硬件加速并行处理的运算算子。
47.其它实施例中,可以按照其它原则来划分第一、第二运算算子。
48.本实施例的一种实施方式中,所述第一部分运算算子可以包括以下一种或多种类型的运算算子:全连接运算算子、矩阵变换运算算子、柔性最大值传输运算算子、切片运算算子、pack运算算子(有时也称为stack运算算子);
49.所述第二部分运算算子可以包括以下一种或多种类型的运算算子:普通卷积运算算子、深度卷积运算算子、最大池化运算算子、平均池化运算算子。
50.当一个ai模型中还包含有上述未列举到的运算算子时,可以根据需要将该运算算子划分为第一部分运算算子或第二部分运算算子;或者,可以考虑该运算算子是否适于使用硬件加速,如果适于使用硬件加速则作为第二部分运算算子,如果不适于进行硬件加速或更适于使用软件实现则作为第一部分运算算子;或者,可以自行决定将该运算算子放在处理芯片上或可编程逻辑器件上实现。
51.本实施例的一种实施方式中,所述mcu还可以用于读取所述图像数据并输入给相应的第一部分运算算子和/或第二部分运算算子,以及输出所述人物特征识别结果。
52.本实施方式中,可以看成ai模型除了运算算子外,还包括输入层和输出层,分别用于将图像数据(直接或通过输入输出缓冲器)输入给ai模型中的相应运算算子,以及直接向共享存储器输出或通过输入输出缓冲器向共享存储器输出人物特征识别结果;该输入层和输出层可以由mcu内核实现。
53.一些示例性的实施例中,所述的人工智能系统还可以包括:
54.共享存储器,用于保存所述图像数据、所述人物特征识别结果,以及所述多个运算算子的运算结果;
55.所述处理芯片通过系统总线连接所述共享存储器,所述可编程逻辑器件通过并行总线连接所述共享存储器。
56.本实施例中,各运算算子的运算结果可以保存在共享存储器中,供下一个运行的运算算子读取使用。最后一个运行的运算算子的运算结果可以由所述处理芯片读取,并根据该运算结果得到所述人物特征识别结果。
57.其它实施例中,可以采用其它形式的存储器,或可以将共享存储器包含在可编程逻辑器件中。
58.本实施例的一种实施方式中,所述可编程逻辑器件可以包括:
59.开关控制器,用于选择摄像头输入的图像或hdmi(high definition multimedia interface,高清多媒体接口)设备输入的原始图像;
60.摄像头控制器,用于控制所述摄像头进行图像采集,控制所采集的原始图像的读、写时序以及缓存;
61.hdmi接口设备控制器,用于控制hdmi设备进行图像采集,以及控制所采集的原始图像的读、写时序以及缓存;
62.第一输入输出缓冲器,用于缓存摄像头或hdmi设备采集的原始图像,并通过并行总线发送给所述共享存储器。
63.本实施方式中,所述可编程逻辑器件还可以包括:
64.第二输入输出缓冲器,用于保存从所述共享存储器读取的所述原始图像;
65.图像灰度算法模块,用于对所述原始图像进行灰度二值化处理,转为灰度图像;
66.图像裁剪算法模块,用于将所述灰度图像裁剪成预定大小的图像;
67.图像增强算法模块,用于对所述预定大小的图像进行傅里叶变换得到所述图像数据,并缓存到所述第二输入输出缓冲器;
68.所述第二输入输出缓冲器还用于通过并行总线将所述图像数据存储到所述共享存储器。
69.本实施方式中,上述控制器和模块可以但不限于通过硬件描述语言配置在fpga内核中。
70.本实施例的一种实施方式中,所述第一部分运算算子可以为第一模型层;所述第二部分运算算子可以为第二模型层;
71.所述处理芯片可以包括:
72.第三输入输出缓冲器,用于保存从所述共享存储器读取的所述图像数据;
73.ai模型解释器,用于解析所述用于进行人物特征识别的ai模型,计算该ai模型的全部运算算子,根据计算结果统计所述第一模型层需要运行的第一部分运算算子、所述第二模型层需要运行的第二运算算子,以及每个运算算子的运行顺序;读取所述第三输入输出缓冲器中的所述图像数据输入到所述第一模型层或第二模型层,根据上述运行顺序运行所述ai模型的全部运算算子,得到人物特征识别结果,保存到所述第三输入输出缓冲器;
74.所述第三输入输出缓冲器还用于通过系统总线将所述人物特征识别结果保存到所述共享存储器。
75.本实施方式中,ai模型解释器可以但不限于通过保存在mcu内核中的软件代码实现。
76.本实施方式中,ai模型解释器中可以预先保存有ai模型的不同层和不同类型运算算子之间的对应关系,比如深度卷积层对应深度卷积运算算子;当解析ai模型后,可以确定ai模型中包含哪些层以及层之间的连接关系,根据所述对应关系就可以确定要运行哪些运算算子以及运算顺序。ai模型解释器还可以预先保存有第一、第二部分运算算子各自所包含的运算算子的类型,从而得知要运行的每个运算算子分别属于第一或第二部分运算算子,这样在根据运行顺序调度时可以相应在处理芯片或可编程逻辑器件中进行调度。
77.本实施例中,ai模型解释器可以通过第三输入输出缓冲器从共享存储器读取图像数据,输入给需要使用图像数据的运算算子,以及读取最后一个运行的运算算子的运算结
果,根据该运算结果得到所述人物特征识别结果,通过第三输入输出缓冲器保存到共享存储器中。
78.一些示例性的实施例中,所述用于进行人物特征识别的ai模型是在云端通过样本数据训练得到的人物特征识别模型;其中,所述样本数据为标注有人物特征的图像数据。
79.其它实施例中,所述ai模型不限于来自于云端,比如可以是其它设备训练好或下载好后输入给ai系统,或保存在指定位置供ai系统自行读取。
80.本技术实施例还提供了一种进行人物特征识别的方法,应用于上述任一实施例所述的进行人物特征识别的人工智能系统中,所述方法如图3所示,包括步骤s310-s340:
81.s310、处理芯片解析用于进行人物特征识别的ai模型,确定所要运行的第一部分运算算子、第二部分运算算子及其运行顺序;其中,所述第一部分运算算子是指通过所述处理芯片实现的多个运算算子,所述第二部分运算算子是指通过所述可编程逻辑器件实现的多个运算算子;
82.s320、可编程逻辑器件获取所采集的图像并处理成图像数据;
83.s330、所述处理芯片根据所述运行顺序调度所述第一部分运算算子和第二部分运算算子对所述图像数据进行运算,得到人物特征识别结果;
84.s340、所述可编程逻辑器件输出所述人物特征识别结果。
85.上述步骤中,s310可以初始执行一次后,多次执行s320-s340,即针对一个ai模型进行一次解析和确定后,可以对多个原始图像进行人物特征识别,或者说可以进行多次人物特征识别的操作。步骤s320可以和其它步骤并行执行,比如mcu解析ai模型时,fpga可以并行的对一个或多个原始图像进行处理,将得到的图像数据保存在共享存储器中,待模型解析完毕,确定了所要运行的运算算子和运行顺序后,可以读取已处理好的图像数据进行人物特征识别,在进行识别和输出人物特征识别结果过程中,都可以继续并行的将原始图像处理成图像数据。另外,进行识别时可以并行的输出已得到的人物特征识别结果。当然,也可以采用全部串行或部分串行的处理方式,比如在模型解析完毕,确定所要运行的运算算子和运行顺序后才开始获取原始图像并处理成图像数据,根据该图像数据得到人物特征识别结果后再获取下一个原始图像。本实施例中,是否采用并行方式以及具体并行哪些步骤,可以自行根据需求、器件性能等决定,本实施例对此不进行限制。
86.其它实施细节可参见上述实施例。
87.下面用一个示例说明上述实施例。
88.本示例是一种边缘端嵌入式系统中的人物特征识别ai系统,该ai系统基于轻量化mcu与中低端低功耗fpga soc实现,可以识别人物图像中的人物年龄与性别等人物特征。该ai系统包括图像采集模块、图像预处理模块、人物特征识别ai模型推断模块和图像显示模块。
89.本示例中,所述ai系统进行人物特征识别的流程如图4所示,在云端根据人物特征数据源进行人物特征识别ai模型的训练,得到用于进行人物特征识别的ai模型(后文简称为人物特征识别ai模型)。ai系统中的图像采集模块从外接的摄像头或hdmi接口设备等获取所采集的原始图像,图像预处理模块将该原始图像处理成图像数据。人物特征识别ai模型推断模块根据图像数据和人物特征识别ai模型,得到人物特征识别结果,通过图像显示模块输出。ai系统中各模块的工作过程如图4中的实线箭头所示,各模块输入、输出的数据
的流通路径如图4中的虚线箭头所示,图像采集模块获取的原始图像保存到共享存储器中,供图像预处理模块读取使用;图像预处理模块处理得到的图像数据保存到共享存储器,供人物特征识别ai模型推断模块读取使用;人物特征识别ai模型推断模块所得到的人物特征识别结果(本示例中称为ai模型推断结论)保存到共享存储器,供图像显示模块读取以输出给外接的图像显示设备显示。
90.本示例中,所述ai系统的结构如图5所示,soc中包含mcu内核、fpga内核以及共享存储器,通过图像采集模块外接摄像头、hdmi接口设备,通过图像显示模块外接图像显示设备。mcu内核通过系统总线连接共享存储器,fpga内核通过并行总线连接共享存储器。mcu内核中包含ai模型解释器和mcu模型层,mcu模型层中包含了reshape、fullyconnected、softmax等运算算子,mcu模型层中的运算算子即上文所述的第一部分运算算子。fpga内核中包含了所述图像采集模块、图像预处理模块、所述图像显示模块以及fpga模型层;fpga模型层包含conv2d、depthwisecon2d、maxpool2d等运算算子,fpga模型层中的运算算子即上文所述的第二部分运算算子。fpga模型层、mcu模型层以及ai模型解释器都是人物特征识别ai模型推断模块的组成部分。
91.下面分别介绍本示例中的四个模块:
92.(1)图像采集模块
93.图像采集模块外接摄像头和hdmi接口设备输入,因此可以支持摄像头和hdmi接口设备两路图像输入。一路摄像头输入适用于ai系统现场设备端的人物特征识别,ai系统位于现场,现场图像采集并进行人物特征识别。一路hdmi接口设备输入适用于ai系统远程设备端的人物特征识别,ai系统位于远程某个地方,现场放置摄像头,现场图像采集后远程传输到某hdmi接口设备,hdmi接口设备作为ai系统的图像输入。图像采集模块可以根据不同应用场景,通过开关控制器来控制图像输入方式。
94.图像采集模块位于fpga内核,使用fpga逻辑资源实现,摄像头或hdmi接口设备采集输入的图像数据,通过soc端口输入图像采集模块。图像采集模块如图6所示,包括:
95.根据输入控制相应选择摄像头或hdmi接口设备图像采集方式的开关控制器,分别与摄像头和hdmi接口设备连接,用于选择ai系统使用摄像头现场图像采集方式或hdmi接口设备远程图像采集方式;
96.摄像头控制器,用于控制摄像头设备的图像采集,原始图像的读、写时序以及缓存;
97.hdmi接口设备控制器,用于控制hdmi接口设备的图像采集,原始图像的读、写时序以及缓存。
98.第一输入输出缓冲器,用于缓存摄像头或hdmi接口设备采集的图像数据。
99.图像采集模块采集的图像数据,通过并行总线存储到片内的共享存储器。该共享存储器可以同时被fpga内核和mcu内核直接访问,实时读写数据。
100.(2)图像预处理模块
101.图像采集模块获取的原始图像都是基于摄像头设备的像素分辨率,一般分辨率比较高,而在边缘端嵌入式系统中,限于嵌入式系统的硬件资源限制,使用的ai模型能够识别与检测的图像分辨率一般较低,所以需要使用图像预处理模块对采集的原始图像数据进行预处理,产生适用于ai模型的图像数据。
102.图像预处理模块位于fpga内核,使用fpga逻辑资源实现,如图7所示,内置图像灰度算法模块、图像裁剪算法模块、图像增强算法模块和第二输入输出缓冲器,分别用于图像灰度化、裁剪、变换增强和输入输出缓存。
103.图像预处理模块,通过并行总线访问片内共享存储器,读取图像采集模块保存到共享存储器的原始图像,缓存到第二输入输出缓冲器。
104.图像灰度算法模块,内置scalar算法,对原始图像进行灰度二值化,转为灰度图像。图像裁剪算法模块,内置隔行裁剪算法,隔行裁剪图像,降低图像像素,裁剪缩小到ai模型所需的图像像素。图像增强算法模块,内置fft(傅里叶变换)算法,补偿隔行裁掉的图像像素,增强图像。
105.图像预处理产生的图像数据,缓存到第二输入输出缓冲器,通过并行总线存储到共享存储器。
106.(3)人物特征识别ai模型推断模块
107.图像预处理模块预处理产生的图像数据,作为人物特征识别ai模型推断模块所用的ai模型的数据输入。
108.ai模型推断模块位于fpga内核和mcu内核,适用于mcu内核数据处理的ai模型运算算子,使用mcu内核软件实现该类型的ai模型运算算子,作为mcu模型层,比如全连接运算(fullyconnected)、矩阵变换运算(reshape)、柔性最大值传输运算(softmax)、切片运算、pack等;适用于fpga内核硬件加速并行处理的ai模型运算算子,使用fpga逻辑资源实现该类型的ai模型运算算子,作为fpga模型层,比如普通卷积运算(conv2d)、深度卷积运算(depthwiseconv2d)、最大池化运算(maxpool2d)、平均池化运算(averagepool2d)等。
109.如图8所示,人物特征识别ai模型推断模块,包括ai模型解释器、mcu模型层、fpga模型层和第三输入输出缓冲器。
110.ai模型推断模块中,mcu内核部分(包括ai模型解释器和mcu模型层)通过系统总线连接,访问共享存储器,读取图像预处理模块产生的图像数据,保存到第三输入输出缓冲器。ai模型解释器,解析人物特征识别ai模型,计算ai模型的所有运算算子,统计需要运行的mcu模型层模型运算算子和fpga模型层模型运算算子以及运行顺序。读取输入输出缓冲器的图像数据,输入到mcu模型层或fpga模型层,按照上述运行顺序运行ai模型运算算子和图像数据,推断人物特征分类。mcu模型层和fpga模型层完成ai模型运算算子计算后,产生ai模型推断结论,保存到第三输入输出缓冲器,再通过系统总线连接存储到共享存储器。
111.(4)图像显示模块
112.ai系统后端连接一个图像显示设备,用于显示人物特征图像以及人物特征识别推断结论。图像显示模块,位于fpga内核,使用fpga逻辑资源实现,内置图像显示设备控制器,通过并行总线从共享存储器读取ai模型推断结论,以及图像采集模块采集的原始图像,控制图像显示设备,显示原始图像以及ai模型推断结论。
113.本示例中所使用的人物特征识别ai模型,可以包括conv2d、depthwiseconv2d、fullyconnected、averagepooling2d、reshape、切片运算(strided_slice)、softmax、pack等共49层运算算子,以及由mcu实现的一个图像输入数据层(即上文的输入层)和一个推断结论输出数据层(即上文的输出层),其中,图像输入数据层和推断结论输出数据层可以设置在所述ai模型推断模块之中或之外。在云端,通过机器学习,该模型学习大量人物特征数
据源,比如人物年龄、人物性别,训练出可以准确用于人物特征识别的ai模型,本示例的ai系统基于该训练好的ai模型来推断原始图像中的人物特征。
114.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。