具有空间不确定性的对象检测网络的制作方法

文档序号:31313114发布日期:2022-08-31 00:04阅读:136来源:国知局
具有空间不确定性的对象检测网络的制作方法
具有空间不确定性的对象检测网络


背景技术:

1.本公开涉及计算机系统。更具体地,本公开涉及包括对象检测网络的计算机系统。
2.预测是许多分类和对象检测网络的基本元素,该分类和对象检测网络包括机器学习(ml)(诸如,例如,具有单个隐藏层的ann(即浅层ann))、深度神经网络(dnn)(诸如具有多个隐藏层的ann(即深度ann))、卷积神经网络(cnn)、递归神经网络(rnn)等,支持向量机(svm)、决策树、贝叶斯网络等。然而,由于许多原因(诸如,例如,某个类的数据不足、不属于分布(ood)的输入数据(即不属于任何类的数据)等),因此网络永远无法实现100%的预测准确度。在硬件和软件中实现的网络也容易受到硬错误和软错误的影响,这可能会降低预测准确度或者导致致命事件。通常,分类和对象检测网络仅基于输入数据以及底层训练方法和数据提供“最佳”预测。
3.对象检测网络(诸如cnn)通常在推断期间生成确定性标签和对象边界框。边界框是大体上围绕对象的矩形,并且由位置(即,x、y坐标对)、宽度和高度定义。这些确定性输出通常过于自信,从而产生对标签和边界框位置和尺寸的错误预测。可使用各种技术来推断标签不确定性。不幸的是,没有用于预测边界框空间不确定性的已知技术,这对于许多工业应用可能很重要,在这些工业应用中,由于遮挡、照明条件等原因可能无法完全检测到对象。
附图说明
4.图1描绘了根据本公开的实施方案的ann。
5.图2a和图2b描绘了根据本公开的实施方案的cnn。
6.图3描绘了根据本公开的实施方案的对象检测网络。
7.图4a描绘了根据本公开的实施方案的具有边界框的图像。
8.图4b描绘了根据本公开的实施方案的具有网格和边界框的图像。
9.图5描绘了根据本公开的实施方案的系统的框图。
10.图6描绘了根据本公开的实施方案的表示与对象检测相关联的功能的流程图。
具体实施方式
11.现在将参考附图描述本公开的实施方案,其中类似的附图标号始终指代类似的部件。
12.本公开的实施方案有利地提供了稳健的对象检测,该稳健的对象检测增强了具有空间不确定性的传统确定性边界框预测,以用于各种计算机视觉应用,诸如例如自主驾驶、机器人手术等。
13.更具体地,本公开的实施方案有利地提供了一种对象检测网络,该对象检测网络包括主干特征提取(bfe)模块、特征检测(fd)模块和滤波和平均(fa)模块。
14.bfe模块被配置为接收包括至少一个对象的图像数据或图像数据集,以及基于该图像数据生成多个特征张量。每个特征张量具有不同的尺度。在一个实施方案中,每个特征
张量包括由高度、宽度和多个通道定义的特征图数据,并且特征张量的尺度被定义为高度
·
宽度。
15.fd模块被配置为接收来自bfe模块的特征张量,执行多次检测经过,以及生成与每个特征张量相关联的中间张量。每次检测经过包括:向特征张量应用随机丢包掩码;以及对于每个特征张量,确定尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵。每个中间张量包括用于相关联特征张量的每次检测经过的尺度依赖边界框空间数据。
16.在每次检测经过期间向特征张量应用随机丢包掩码有利地向数据引入统计随机性,这继而生成边界框空间不确定性。
17.在一个实施方案中,fd模块包括丢包掩码生成模块和多个检测器头。丢包掩码生成模块被配置为针对每次检测经过生成用于每个特征张量的随机丢包掩码。每个检测器头包括多个卷积模块和至少一个丢包掩码应用模块,并且被配置为接收不同的特征张量。在每次检测经过期间,每个检测器头基于特征张量和相应丢包掩码来确定对象的多个尺度依赖边界框,基于该多个尺度依赖边界框来确定尺度依赖边界框空间数据,以及确定客观评分和类别概率。
18.fa模块被配置为接收来自fd模块的中间张量,基于该中间张量确定尺度独立边界框空间数据,以及生成包括该尺度独立边界框空间数据的输出张量。尺度独立边界框空间数据包括用于对象的尺度独立边界框的平均角坐标和该角坐标的协方差矩阵。
19.ann使用通过学习过程训练的互连节点网络来对输入数据或信号与输出数据或信号之间的关系进行建模。节点被布置到各个层(包括例如输入层、一个或多个隐藏层和输出层)中。输入层接收输入数据(诸如例如图像数据),并且输出层生成输出数据(诸如例如图像数据包含已知对象的概率)。每个隐藏层至少提供输入数据到输出数据的部分转变。dnn具有多个隐藏层,以便对输入数据与输出数据之间的复杂非线性关系进行建模。
20.在完全连接的前馈ann中,每个节点连接到前一层中的所有节点,以及连接到后一层中的所有节点。例如,每个输入层节点连接到每个隐藏层节点,每个隐藏层节点连接到每个输入层节点和每个输出层节点,并且每个输出层节点连接到每个隐藏层节点。附加隐藏层类似地互连。每个连接具有权重值,并且每个节点具有激活函数(诸如例如线性函数、阶梯函数、s型函数、tanh函数、整流线性单元(relu)函数等),该激活函数基于节点的输入的加权总和来确定节点的输出。输入数据从输入层节点传播通过相应连接权重到隐藏层节点,并且然后传播通过相应连接权重到输出层节点。
21.更具体地,在每个输入节点处,将输入数据提供给该节点的激活函数,并且然后将激活函数的输出作为输入数据值提供给每个隐藏层节点。在每个隐藏层节点处,从每个输入层节点接收的输入数据值乘以相应连接权重,并且将所得乘积求和或累积到被提供给该节点的激活函数的激活值中。然后将激活函数的输出作为输入数据值提供给每个输出层节点。在每个输出层节点处,从每个隐藏层节点接收的输出数据值乘以相应连接权重,并且将所得乘积求和或累积到被提供给该节点的激活函数的激活值中。然后提供激活函数的输出作为输出数据。附加隐藏层可类似地被配置为处理数据。
22.多层感知器(mlp)是具有输入层、输出层和一个或多个隐藏层的ann。mlp可用于自然语言处理应用,诸如机器翻译、语音辨识等。其他ann包括递归神经网络(rnn)、长短时记
忆(lstm)、包括编码器rnn和解码器rnn的序列到序列模型、浅层神经网络等。
23.cnn是可用于分类或辨识应用的mlp的变型,诸如图像辨识、语音辨识等。cnn具有输入层、输出层和多个隐藏层,该多个隐藏层包括卷积层、池化层、归一化层、完全连接层等。每个卷积层将滑动点积或互相关应用于输入体积,将激活函数应用于结果,并且然后将激活或输出体积提供给下一层。卷积层通常使用relu函数作为激活函数。在某些实施方案中,激活函数在单独的激活层(诸如例如relu层)中提供。池化层减小了从前一卷积层接收的输出体积的尺寸,并且可计算小数据集群(诸如例如2
×
2矩阵)的平均值或最大值。在某些实施方案中,卷积层和池化层可形成cnn的单个层。完全连接层跟在卷积层和池化层之后,并且包括展平层和分类层,随后是归一化层,该归一化层包括归一化函数,诸如softmax函数。输出层跟在最后一个完全连接层之后;在某些实施方案中,输出层可包括归一化函数。
24.图1描绘了根据本公开的实施方案的ann 10。
25.ann 10包括输入层20、一个或多个隐藏层30、40、50等和输出层60。输入层20包括一个或多个输入节点21、22、23等。隐藏层30包括一个或多个隐藏节点31、32、33、34、35等。隐藏层40包括一个或多个隐藏节点41、42、43、44、45等。隐藏层50包括一个或多个隐藏节点51、52、53、54、55等。输出层60包括一个或多个输出节点61、62等。通常,ann 10包括n个隐藏层,输入层20包括“i”个节点,隐藏层30包括“j”个节点,隐藏层40包括“k”个节点,隐藏层50包括“m”个节点,并且输出层60包括“o”个节点。输入层、隐藏层和输出层的许多变型是明显可能的,包括彼此局部连接而不是完全连接的隐藏层。具有单个隐藏层30的ann是浅层ann,而具有多个隐藏层30、40等的ann是深度ann,即dnn。
26.训练ann包括通过使输出数据的预测错误最小化来优化节点之间的连接权重,直到ann实现特定准确度水平。一种方法是错误的反向传播或后向传播,其相对于连接权重迭代且递归地确定梯度下降,并且然后调整连接权重以改善网络的性能。
27.图2a描绘了根据本公开的实施方案的cnn 12。
28.cnn 12包括输入层20、一个或多个隐藏层(诸如卷积层30-1、池化层30-2、隐藏(展平)层40、隐藏(分类)层50等)和输出层60。设想了输入层、隐藏层和输出层的许多其他变型。因为cnn包括多个隐藏层,所以cnn是深度神经网络,即dnn。
29.输入层20包括一个或多个输入节点21等,该一个或多个输入节点将输入数据(诸如彩色图像)作为输入体积呈现给第一卷积层,例如卷积层30-1。输入体积是具有宽度、高度和深度的三维矩阵。例如,表示彩色图像的输入数据可被呈现为512像素
×
512像素
×
3通道(红、绿、蓝)的输入体积;也可使用其他输入体积尺寸,诸如32
×
32
×
3、64
×
64
×
3、128
×
128
×
3等、32
×
32
×
1、64
×
64
×
1、128
×
128
×
1、512
×
512
×
1等。
30.卷积层30-1局部连接到输入层20,并且包括连接到输入体积中的局部区域的多个节点(为清楚起见未示出)。对于使用标准卷积的cnn,每个节点计算节点的滤波器权重与输入体积的相应局部区域之间的点积,以生成输出体积的一个元素。可将激活函数和偏置应用于输出体积的每个元素,并且然后将输出体积作为输入体积提供给下一层。激活函数和偏置可由每个卷积层节点或由后续局部连接层(诸如relu层)的节点应用。滤波器或特征检测器识别图像中存在的不同特征,诸如边缘、垂直线、水平线、弯曲等。较浅的卷积层从图像提取更高级别的特征,而较深的卷积层使用更大数量的滤波器提取较低级别的特征。
31.池化层30-2局部连接到卷积层30-1,并且包括连接到输入体积中的局部区域的多个节点(为清楚起见未示出)。池化层30-2也产生输出体积,该输出体积作为输入体积被提供给后一层(诸如例如另一卷积层30-1、展平层40等)。在某些实施方案中,卷积层30-1和池化层30-2形成单个隐藏层30。类似地,在某些实施方案中,卷积层30-1、relu层和池化层30-2形成单个隐藏层30,而在其他实施方案中,卷积层30-1、批次归一化层和relu层形成单个隐藏层30。通常,卷积层和池化层的输出体积可被描述为输出特征图,并且一个或多个单个隐藏层30形成cnn 12的特征学习部分。
32.隐藏层40是局部连接到池化层30-2的“展平”层,并且包括一个或多个隐藏(展平)节点41、42、43、44、45等。隐藏(展平)层40将由前一池化层30-2产生的输出体积“展平”为列向量,该列向量被提供给后一完全连接隐藏层50。
33.隐藏层50是完全连接到隐藏(展平)层40的分类层,并且包括一个或多个隐藏(分类)节点51、52、53、54、55等。
34.输出层60包括一个或多个输出节点61、62等,并且完全连接到隐藏(分类)层50。完全连接输出层60接收由隐藏(分类)层50输出的分类结果,并且每个节点输出经预测类别评分。归一化函数(诸如softmax函数)可通过输出层60或者另选地通过插入在隐藏(分类)层50与输出层60之间的附加层应用于经预测类别评分。
35.类似于ann,训练cnn包括通过使输出数据的预测错误最小化来优化节点之间的连接权重,直到cnn实现特定准确度水平。如上所述,反向传播可用于相对于连接权重迭代且递归地确定梯度下降,并且然后调整连接权重以改善网络的性能。矩阵乘法运算(并且更具体地是mac运算)由cnn以及其他ann广泛使用。
36.图2b描绘了cnn 14,其是残差网络(resnet)。
37.基本上,cnn 14包括卷积层301、最大池化层30-21、卷积层302、卷积层303、卷积层304、卷积层305、卷积层306、卷积层307、卷积层308、卷积层309、卷积层30
10
、卷积层30
11
、卷积层30
12
、卷积层30
13
、卷积层30
14
、卷积层30
15
、卷积层30
16
、卷积层30
17
、平均池化层30-22、分类(完全连接)层50和softmax层60。图2b中描绘了每个卷积层中每个卷积核的大小和滤波器的数量。每个卷积层30i包括三个层,即卷积层30-1、批次归一化层和激活(relu)层。在计算机视觉应用(诸如对象分类)中,图像数据被呈现给卷积层301,并且softmax层60输出经预测标签或类别。
38.卷积层301具有核大小3
×
3、64个滤波器和步幅2。最大池化层30-21具有大小3
×
3和步幅2。卷积层302、303、304和305具有核大小3
×
3、64个滤波器和步幅1。卷积层306具有核大小3
×
3、128个滤波器和步幅2,而卷积层307、308和309具有核大小3
×
3、128个滤波器和步幅1。卷积层30
10
具有核大小3
×
3、256个滤波器和步幅2,而卷积层30
11
、30
12
和30
13
具有核大小3
×
3、256个滤波器和步幅1。卷积层30
14
具有核大小3
×
3、512个滤波器和步幅2,而卷积层30
15
、30
16
和30
17
具有核大小3
×
3、512个滤波器和步幅1。
39.cnn 14不仅顺序地连接各层(由笔直箭头连接表示),而且还周期性地将一个卷积层30i的输入添加到后一卷积层30
i+1
的批次归一化层的输出(由弯曲箭头连接表示)。
40.对于直接连接,每个激活层生成输出特征图,该输出特征图作为输入特征图被提供给下一个卷积层。通常,这些输出特征图由三维矩阵或特征张量表示,该三维矩阵或特征张量通过高度(h)、宽度(w)和多个通道(c)来定义特征图数据。特征张量的尺度被定义为高

·
宽度(即,h
×
w)。
41.对于附加连接,cnn 14将两个连续卷积层30i和30
i+1
的组成层分组为“残差块”(如残差块70所描绘)。除了卷积层30i和30
i+1
的组成层之外,每个残差块70还包括附加元素72以在连续的卷积层30i和30
i+1
之间创建“跳过连接”。残差块70的输入由“x”表示。在没有跳过连接的情况下,在训练期间要学习的所需底层映射是残差映射“f(x)”。然而,在具有跳过连接的情况下,在训练期间要学习的所需底层映射是残差映射“f(x)-x”,由于识别映射f(x)=x,因此这易于学习。跳过连接通过减轻消失梯度问题来改善cnn 14的训练,并且通常允许信息在后续卷积层之间更自由流动。
42.在图2b中所描绘的实施方案中,提供给卷积层301的图像数据的大小为224
×
224
×
3个元素。每个元素是具有相同位长度(例如8位)的像素。卷积层301输出大小为112
×
112
×
64个元素并且尺度为112
×
112的特征张量。最大池化层30-21输出大小为56
×
56
×
64个元素并且尺度为56
×
56的特征张量。卷积层302、303、304和305输出大小为56
×
56
×
64个元素并且尺度为56
×
56的特征张量。卷积层306、307、308和309输出大小为28
×
28
×
128个元素并且尺度为28
×
28的特征张量。卷积层30
10
、30
11
、30
12
和30
13
输出大小为14
×
14
×
256个元素并且尺度为14
×
14的特征张量。卷积层30
14
、30
15
、30
16
和30
17
输出大小为7
×7×
512个元素并且尺度为7
×
7的特征张量。平均池化层30-22输出大小为1
×1×
512个元素的特征张量,分类(完全连接的)层50具有512
×
1000个连接并且输出1,000个元素,并且softmax层60输出1,000个元素。还设想了cnn 14的其他配置。
43.图3描绘了根据本公开的实施方案的对象检测网络100。
44.对象检测网络100包括bfe模块110、fd模块120和fa模块170。bfe模块110接收图像数据并且生成特征张量112、114和116。fd模块120接收特征张量112、114和116,并且生成中间张量122、124和126。fa模块170接收中间张量122、124和126,并且生成输出张量172。
45.通常,bfe模块110包括ml模型(诸如,例如,ann、dnn、cnn、rnn、贝叶斯网络等),该ml模型对图像数据执行对象分类。在图3所描绘的实施方案中,bfe模块110包含cnn 14,即resnet模型。在该实施方案中,已经省略或去激活了cnn 14的最后三层,即平均池化层30-22、分类层50和softmax层60,如椭圆形所指示。在其他实施方案中,可包括或激活cnn 14的最后三层,以便为图像数据提供标称预测类别。
46.在具有三个不同尺度的三个不同层处从resnet模型中提取特征张量112、114和116,并且将其提供给fd模块120。在该实施方案中,特征张量112具有大小7
×7×
512和尺度7
×
7,特征张量114具有大小14
×
14
×
256和尺度14
×
14,并且特征张量116具有大小28
×
28
×
128和尺度28
×
28。
47.在卷积层30
14
、卷积层30
15
、卷积层30
16
或卷积层30
17
的激活层之后,可从cnn 14提取特征张量112。类似地,在卷积层30
10
、卷积层30
11
、卷积层30
12
或卷积层30
13
的激活层之后,可从cnn 14提取特征张量114,并且在卷积层306、卷积层307、卷积层308或卷积层309的激活层之后,可从cnn 14提取特征张量116。
48.在许多实施方案中,在上面列出的最后一个卷积层(即,对于特征张量116为卷积层309、对于特征张量114为卷积层30
13
和对于特征张量112为卷积层30
17
)的激活层之后提取每个特征张量。本公开还可适应其他特征张量大小和尺度。
49.通常,fd模块120包括执行多次检测经过的对象检测器。在图3所描绘的实施方案
中,fd模块120包括具有三个检测器头(即检测器头130、检测器头140和检测器头150)的基于cnn的对象检测器以及丢包掩码生成模块160。检测器头130接收来自bfe模块110的特征张量112,检测器头140接收来自bfe模块110的特征张量114,并且检测器头150接收来自bfe模块110的特征张量116。
50.检测器头130包括卷积模块133、掩码模块134、卷积模块135、掩码模块136、卷积模块137和中间张量生成模块138。卷积模块133接收来自bfe模块110的特征张量112。掩码模块134耦合到卷积模块133和丢包掩码生成模块160,并且接收来自卷积模块133的更新特征张量112和来自丢包掩码生成模块160的随机丢包掩码。卷积模块135耦合到掩码模块134,包括卷积层,并且接收来自掩码模块134的掩蔽特征张量112。
51.掩码模块136耦合到卷积模块135和丢包掩码生成模块160,并且接收来自卷积模块135的更新特征张量112和来自丢包掩码生成模块160的随机丢包掩码。卷积模块137耦合到掩码模块136,包括卷积层,并且接收来自掩码模块136的掩蔽特征张量112。耦合到卷积模块137,并且接收来自卷积模块137的更新特征张量112。
52.中间张量生成模块138生成中间张量122,该中间张量与特征张量112相关联并且尤其包括尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵,如下所述。在一个实施方案中,中间张量122可由等式1定义:
53.m
×
h/4
×
w/4
×a×
[k1,k2,k
11
,k
22
,p(obj),{ci}]
ꢀꢀꢀꢀ
等式1
[0054]
其中m是检测经过的次数,h/4
×
w/4是特征张量112的尺度(例如,7
×
7),a是边界框(或锚边界框)的数量,k1是边界框平均第一角坐标(即,x1,y1),k2是边界框平均第二角坐标(即,x2,y2),k
11
是第一角坐标的边界框协方差矩阵,k
22
是第二角坐标的边界框协方差矩阵,p(obj)是客观评分,并且{ci}是类别概率。k
11
和k
22
由等式2给出:
[0055][0056]
其中sigma值是相应坐标的方差和协方差。
[0057]
边界框的数量a通常为至少两个——一个水平矩形(例如,比如汽车、公交车、卡车等对象)和一个垂直矩形(例如,比如行人、自行车等对象)。
[0058]
检测器头140包括上采样器模块141、级联模块142、卷积模块143、掩码模块144、卷积模块145、掩码模块146、卷积模块147和中间张量生成模块148。上采样器模块141耦合到卷积模块133,并且接收来自卷积模块133的更新特征张量112。级联模块142耦合到上采样器模块141,并且接收来自bfe模块110的特征张量114和来自上采样器模块141的放大特征张量112。卷积模块143耦合到级联模块142,并且接收来自级联模块142的级联特征张量114。
[0059]
掩码模块144耦合到卷积模块143和丢包掩码生成模块160,并且接收来自卷积模块143的更新特征张量114和来自丢包掩码生成模块160的随机丢包掩码。卷积模块145耦合到掩码模块144,包括卷积层,并且接收来自掩码模块144的掩蔽特征张量114。掩码模块146耦合到卷积模块145和丢包掩码生成模块160,并且接收来自卷积模块145的更新特征张量114和来自丢包掩码生成模块160的随机丢包掩码。卷积模块147耦合到掩码模块146,包括
卷积层,并且接收来自掩码模块146的掩蔽特征张量114。中间张量生成模块148耦合到卷积模块147,并且接收来自卷积模块147的更新特征张量114。
[0060]
中间张量生成模块148生成中间张量124,该中间张量与特征张量114相关联并且尤其包括尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵,如下所述。在一个实施方案中,中间张量124可由等式3定义:
[0061]m×
h/2
×
w/2
×a×
[k1,k2,k
11
,k
22
,p(obj),{ci}]
ꢀꢀ
等式3
[0062]
其中h/2
×
w/2是特征张量114的尺度(例如,14
×
14),并且其余元素在上面给出。
[0063]
检测器头150包括上采样器模块151、级联模块152、卷积模块153、掩码模块154、卷积模块155、掩码模块156、卷积模块157和中间张量生成模块158。上采样器模块151耦合到卷积模块143,并且接收来自卷积模块143的更新特征张量114。级联模块152耦合到上采样器模块151,并且接收来自bfe模块110的特征张量116和来自上采样器模块151的放大特征张量114。卷积模块153耦合到级联模块152,并且接收来自级联模块152的级联特征张量116。
[0064]
掩码模块154耦合到卷积模块153和丢包掩码生成模块160,并且接收来自卷积模块153的更新特征张量116和来自丢包掩码生成模块160的随机丢包掩码。卷积模块155耦合到掩码模块154,包括卷积层,并且接收来自掩码模块154的掩蔽特征张量116。掩码模块156耦合到卷积模块155和丢包掩码生成模块160,并且接收来自卷积模块155的更新特征张量116和来自丢包掩码生成模块160的随机丢包掩码。卷积模块157耦合到掩码模块156,包括卷积层,并且接收来自掩码模块156的掩蔽特征张量116。中间张量生成模块158耦合到卷积模块157,并且接收来自卷积模块157的更新特征张量116。
[0065]
中间张量生成模块158生成中间张量126,该中间张量与特征张量116相关联并且尤其包括尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵,如下所述。在一个实施方案中,中间张量126可由等式4定义:
[0066]m×h×w×a×
[k1,k2,k
11
,k
22
,p(obj),{ci}]
ꢀꢀꢀꢀ
等式4
[0067]
其中h
×
w是特征张量116的尺度(例如,28
×
28),并且其余元素在上面给出。
[0068]
在一个实施方案中,每个卷积模块包括层组,该层组包括具有核大小1
×
1和512个滤波器的第一卷积层、具有核大小3
×
3和1,024个滤波器的第二卷积层、批次归一化层和激活层。卷积模块133、143和153包括这些层组的数量n;在一个实施方案中,n等于2。本公开还适应其他卷积核大小、滤波器数量和层组数量。
[0069]
上采样器模块141接收来自卷积模块133的更新特征张量112,并且增加更新特征张量112的尺度以匹配特征张量114的尺度,例如,从7
×
7增加到14
×
14。这可例如通过“未池化”或平均池化例程来执行。类似地,上采样器模块151接收来自卷积模块143的更新特征张量114,并且增加更新特征张量114的尺度以匹配特征张量116的尺度,例如,从14
×
14增加到28
×
28。
[0070]
级联模块142级联特征张量114和来自上采样器模块141的放大特征张量112,以生成级联特征张量114。在该实施方案中,级联特征张量114具有大小28
×
28
×
768,这是由大小为28
×
28
×
256的特征张量114与大小为28
×
28
×
512的放大特征张量112的级联产生。类
似地,级联模块152级联特征张量116和来自上采样器模块151的放大特征张量114,以生成级联特征张量116。在该实施方案中,级联特征张量116具有大小56
×
56
×
896,这是由大小为56
×
56
×
128的特征张量116与大小为56
×
56
×
768的放大和级联特征张量114的级联产生。
[0071]
将特征张量放大和级联有利地从cnn 14的较深层提取更多特征,并且将它们与从较浅层提取的特征进行组合。
[0072]
在一个实施方案中,丢包掩码生成模块160包括bernoulli掩码发生器。bernoulli掩码开始于随机种子,并且掩码中的零的数量取决于丢包速率。然后将bernoulli掩码馈送到函数,诸如,例如,xor运算,该函数然后每个循环发出新的随机位。在n个循环之后,生成长度为n的新随机掩码。每个检测器头130、140和150内的掩码模块由于不同特征张量尺度而接收不同大小掩码。检测器头130接收具有49个元素(即,7
×
7)的丢包掩码,检测器头140接收具有196个元素(即,14
×
14)的丢包掩码,并且检测器头150接收具有784个元素(即,28
×
28)的丢包掩码。
[0073]
在一个实施方案中,fa模块170包括处理中间张量122、124和126的monte carlo模拟模型,并且生成输出张量172,该输出张量尤其包括尺度独立边界框空间数据,该尺度独立边界框空间数据包括用于对象的多个尺度独立边界框的平均角坐标和该角坐标的协方差矩阵,如下所述。在一个实施方案中,输出张量172可由等式5定义:
[0074]
p
×q×
[k1,k2,k
11
,k
22
,{ci}]
ꢀꢀꢀ
等式5
[0075]
其中p是网格行的数量,q是网格列的数量(即,p
·
q等于网格单元的数量);其余元素在上面给出。
[0076]
如上所述,对于由bfe模块110处理的每个图像数据集,每个检测器头130、140和150(分别)接收不同的特征张量112、114和116。对象检测器然后执行多次检测经过以生成中间张量122、124和126,诸如,例如,1,000次检测经过(即,m等于1,000)。丢包掩码生成模块160针对每次检测经过生成用于每个特征张量112、114和116的随机丢包掩码。在每次检测经过期间,每个检测器头130、140和150基于相应特征张量112、114和116以及相应丢包掩码来确定对象的多个尺度依赖边界框,以及基于该多个尺度依赖边界框来确定尺度依赖边界框空间数据。每个检测器头还可确定客观评分和类别概率。
[0077]
通常,在检测经过期间由检测器头130执行的处理可总结如下。卷积模块133接收来自bfe模块110的特征张量112,并且对特征张量112执行卷积操作以更新特征张量112。掩码模块134对特征张量112执行掩蔽操作以掩蔽特征张量112。卷积模块135对特征张量112执行卷积操作以更新特征张量112。掩码模块136对特征张量112执行掩蔽操作以掩蔽特征张量112。卷积模块137对特征张量112执行卷积操作以更新特征张量112。而且,中间张量生成模块138生成与特征张量112相关联的中间张量122。
[0078]
图4a描绘了根据本公开的实施方案的具有边界框的图像180。图像180包括至少一个感兴趣对象,即公交车。描绘了尺度依赖边界框181、182和183,以及中间张量122的k1和k2的一般位置。在该示例中,中间张量122具有三个锚边界框(即,a等于3)。为了清楚起见,未描绘分别由检测器头140和150生成的中间张量124和126的尺度依赖边界框。
[0079]
在检测经过期间由检测器头140执行的处理可总结如下。上采样器模块141接收来自卷积模块133的特征张量112,并且增加特征张量112的尺度以匹配特征张量114的尺度。
级联模块142接收来自bfe模块110的特征张量114,并且级联放大特征张量112和特征张量114。卷积模块143对特征张量114执行卷积操作以更新特征张量114。掩码模块144对特征张量114执行掩蔽操作以掩蔽特征张量114。卷积模块145对特征张量114执行卷积操作以更新特征张量114。掩码模块146对特征张量114执行掩蔽操作以掩蔽特征张量114。卷积模块147对特征张量114执行卷积操作以更新特征张量114。而且,中间张量生成模块148生成与特征张量114相关联的中间张量124。
[0080]
在检测经过期间由检测器头150执行的处理可总结如下。上采样器模块151接收来自卷积模块143的特征张量114,并且增加特征张量114的尺度以匹配特征张量116的尺度。级联模块152接收来自bfe模块110的特征张量116,并且级联放大特征张量114和特征张量116。卷积模块153对特征张量116执行卷积操作以更新特征张量116。掩码模块154对特征张量116执行掩蔽操作以掩蔽特征张量116。卷积模块155对特征张量116执行卷积操作以更新特征张量116。掩码模块156对特征张量116执行掩蔽操作以掩蔽特征张量116。卷积模块157对特征张量116执行卷积操作以更新特征张量116。而且,中间张量生成模块158生成与特征张量116相关联的中间张量126。
[0081]
fa模块170然后处理中间张量122、124和126,并且生成输出张量172,该输出张量尤其包括尺度独立边界框空间数据,该尺度独立边界框空间数据包括用于对象的多个尺度独立边界框的平均角坐标和该角坐标的协方差矩阵。
[0082]
图4b描绘了根据本公开的实施方案的具有网格和边界框的图像190。图像190包括相同的感兴趣对象,即公交车。描绘了尺度独立边界框192,以及输出张量172的k1和k2的一般位置。在该示例中,网格包含九个单元,即,p等于3并且q等于3。
[0083]
图5描绘了根据本公开的实施方案的系统200的框图。
[0084]
系统200包括计算机202、i/o设备242和显示器252。计算机202包括耦合到一个或多个处理器220、存储器230、i/o接口240、显示接口250、一个或多个通信接口260和一个或多个ha 280的通信总线210。通常,i/o接口240使用有线或无线连接耦合到i/o设备242,显示接口250耦合到显示器252,并且通信接口260使用有线或无线连接连接到网络262。在一些实施方案中,计算机202的某些部件被实现为片上系统(soc);在其他实施方案中,计算机202可被托管在传统印刷电路板、母板等上。
[0085]
在一些实施方案中,系统200是嵌入式系统,其中图5中所描绘的部件中的一个或多个部件不存在,诸如,例如i/o接口240、i/o设备242、显示接口250、显示器252等。另外,某些部件(当存在时)可基于各种设计约束(诸如,例如,电力、区域等)进行优化,例如,ha 280。
[0086]
通信总线210是通信系统,该通信系统在处理器220、存储器230、i/o接口240、显示接口250、通信接口260、ha 280以及未在图5中描绘的其他部件之间传输数据。电源连接器212耦合到通信总线210和电源供应器(未示出)。在一些实施方案中,通信总线210是片上网络(noc)。
[0087]
处理器220包括一个或多个通用或专用微处理器,其执行指令以执行系统200的控制、计算、输入/输出等功能。处理器220可包括单个集成电路(诸如微处理设备)或协作工作以实现处理器220的功能的多个集成电路设备和/或电路板。另外,处理器220可包括多个处理内核,如图5中所描绘。通常,系统200可包括一个或多个处理器220,每个处理器包含一个
或多个处理内核以及各种其他模块。
[0088]
在一些实施方案中,系统200可包括2个处理器220,每个处理器包含多个处理内核。例如,一个处理器220可以是包含4个“大”处理内核的高性能处理器,例如,arm cortex-a73、cortex-a75、cortex-a76等,而另一个处理器220可以是包含4个“小”处理内核的高效处理器,例如,arm cortex-53、arm cortex-55等。在该示例中,“大”处理内核包括存储器管理单元(mmu)。在其他实施方案中,系统200可以是嵌入式系统,其包括具有一个或多个处理内核(诸如,例如arm cortex-m内核)的单个处理器220。在这些实施方案中,处理器220通常包括存储器保护单元(mpu)。
[0089]
在许多实施方案中,处理器220也可被配置为执行基于分类的机器学习(ml)模型,诸如,例如ann、dnn、cnn、rnn、svm、朴素贝叶斯等,并且更具体地,对象检测网络100。在这些实施方案中,处理器220可提供与硬件加速器相同的功能,诸如ha 280。例如,系统200可以是不包括ha 280的嵌入式系统。
[0090]
另外,处理器220可执行存储在存储器230内的计算机程序或模块(诸如操作系统232、软件模块234等)。例如,软件模块234可包括自主车辆应用、机器人应用(诸如,例如,执行手术过程、在协作环境中与人一起工作的机器人等),其可包括分类网络,诸如,例如,ann、cnn、rnn、bnn、svm、决策树、贝叶斯网络、朴素贝叶斯等,并且更具体地,对象检测网络100。
[0091]
通常,存储元件或存储器230存储用于由处理器220执行的指令和数据。存储器230可包括可由处理器220访问的各种非暂时性计算机可读介质。在各种实施方案中,存储器230可包括易失性和非易失性介质、不可移动介质和/或可移动介质。例如,存储器230可包括随机存取存储器(ram)、dram、sram、rom、闪存存储器、高速缓存存储器和/或任何其他类型的非暂时性计算机可读介质的任何组合。
[0092]
存储器230包含用于检索、呈现、修改和存储数据的各种部件。例如,存储器230存储软件模块,当由处理器220执行时,该软件模块提供功能。软件模块包括操作系统232,该操作系统提供系统200的操作系统功能。软件模块234提供各种功能,诸如使用cnn的图像分类等。数据236可包括与操作系统232、软件模块234等相关联的数据。
[0093]
i/o接口240被配置为从i/o设备242传输和/或接收数据。i/o接口240通过对要从处理器220发送到i/o设备242的数据进行编码并且对从i/o设备242接收到的数据进行解码以用于处理器220来实现处理器220与i/o设备242之间的连接。通常,可通过有线和/或无线连接来发送数据。例如,i/o接口240可包括一个或多个有线通信接口(诸如usb、以太网等)和/或一个或多个无线通信接口(耦合到一个或多个天线,诸如wifi、蓝牙、蜂窝等)。
[0094]
通常,i/o设备242向系统200提供输入和/或来自系统200的输出。如上所述,i/o设备242使用有线和/或无线连接可操作地连接到系统200。i/o设备242可包括耦合到通信接口的本地处理器,该通信接口被配置为使用有线和/或无线连接与系统200通信。例如,i/o设备242可包括键盘、鼠标、触摸板、操纵杆等、传感器、致动器等。
[0095]
显示接口250被配置为将来自系统200的图像数据传输到监视器或显示器252。
[0096]
通信接口260被配置为使用一个或多个有线和/或无线连接将数据传输到网络262和从该网络传输数据。网络262可包括一个或多个局域网、广域网、互联网等,其可执行各种网络协议,诸如,例如,有线和/或无线以太网、蓝牙等。网络262还可包括有线和/或无线物
理层的各种组合,诸如,例如,铜线或同轴电缆网络、光纤网络、蓝牙无线网络、wifi无线网络、cdma、fdma和tdma蜂窝无线网络等。
[0097]
ha 280被配置为尤其执行分类网络,诸如,例如,ann、cnn、对象检测网络100等,以支持由软件模块234体现的各种应用。通常,ha 280包括一个或多个处理器、协处理器、处理引擎(pe)、计算引擎(ce)等,诸如,例如,cpu、gpu、npu(例如,arm ml处理器)、dsp、现场可编程门阵列(fpga)、专用集成电路(asic)、控制器、微控制器、矩阵倍增器电路、mac阵列等。ha 280还包括通信总线接口以及非易失性和/或易失性存储器,诸如,例如rom、闪存存储器、sram、dram等。
[0098]
在许多实施方案中,ha 280通过通信总线210从存储器230接收ann模型和权重,以用于存储在本地易失性存储器(例如,sram、dram等)中。在其他实施方案中,ha 280通过通信总线210从存储器230接收ann模型和权重的一部分。在这些实施方案中,ha 280确定执行ann模型或ann模型部分所需的指令。在其他实施方案中,ann模型(或ann模型部分)仅包括执行ann模型(或ann模型部分)所需的指令。在这些实施方案中,处理器220确定执行ann模型所需的指令,或者处理器220将ann模型分成ann模型部分,并且然后确定执行每个ann模型部分所需的指令。然后将指令作为ann模型或ann模型部分提供给ha 280。
[0099]
在其他实施方案中,ha 280可将ann模型、指令和权重存储在非易失性存储器中。在一些实施方案中,ann模型可使用dsp、fpga、asic、控制器、微控制器、加法器电路、乘法电路、mac电路等直接在硬件中实现。通常,ha 280通过通信总线210从存储器230接收输入数据,并且通过通信总线210将输出数据传输到存储器230。在一些实施方案中,输入数据可与ann模型的层(或层的一部分)相关联,并且来自该层(或该层的一部分)的输出数据可通过通信总线210传输到存储器230。
[0100]
例如,arm ml处理器支持各种ann、cnn、rnn等,以用于分类、对象检测、图像增强、语音辨识和自然语言理解。arm ml处理器包括控制单元、直接内存访问(dma)引擎、本地存储器和16个ce。每个ce尤其包括执行卷积操作的mac引擎、可编程层引擎(ple)、本地sram、权重解码器、控制单元、直接内存访问(dma)引擎等。每个mac引擎累积执行多达八个16宽点积。通常,ple执行非卷积操作,诸如,例如,池化操作、relu激活等。每个ce通过noc接收输入特征图(ifm)和权重集,并且将其存储在本地sram中。mac引擎和ple处理ifm以生成输出特征图(ofm),这些ofm在通过noc传输之前也存储在本地sram中。
[0101]
图6描绘了根据本公开的实施方案的表示与检测对象相关联的功能的流程图400。
[0102]
在该实施方案中,在bfe模块110处执行410和420处的功能,在fd模块120处执行430、440和450处的功能,并且在fa模块170处执行460、470和480处的功能。
[0103]
在410处,接收图像数据。该图像数据包括至少一个对象。
[0104]
在420处,基于图像数据生成多个特征张量。每个特征张量具有不同的尺度。
[0105]
在430处,接收来自bfe模块的特征张量。
[0106]
在440处,执行多次检测经过。每次检测经过包括:向特征张量应用随机丢包掩码;以及对于每个特征张量,确定尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵。
[0107]
在450处,生成与每个特征张量相关联的中间张量。每个中间张量包括用于相关联特征张量的每次检测经过的尺度依赖边界框空间数据。
[0108]
在460处,接收来自fd模块的中间张量。
[0109]
在470处,基于中间张量确定尺度独立边界框空间数据。尺度独立边界框空间数据包括用于对象的尺度独立边界框的平均角坐标和该角坐标的协方差矩阵。
[0110]
在480处,生成输出张量。输出张量包括尺度独立边界框空间数据。
[0111]
本文描述的实施方案能够进行组合。
[0112]
在一个实施方案中,一种用于对象检测的硬件加速器包括主干特征提取(bfe)模块、特征检测(fd)模块和滤波和平均(fa)模块。bfe模块被配置为接收包括至少一个对象的图像数据,以及基于该图像数据生成多个特征张量,每个特征张量具有不同的尺度。fd模块被配置为:接收来自bfe模块的特征张量;执行多次检测经过,每次检测经过包括:向特征张量应用随机丢包掩码,以及对于每个特征张量,确定尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵;以及生成与每个特征张量相关联的中间张量,每个中间张量包括用于相关联特征张量的每次检测经过的尺度依赖边界框空间数据。fa模块被配置为:接收来自fd模块的中间张量;基于中间张量确定尺度独立边界框空间数据,尺度独立边界框空间数据包括用于对象的尺度独立边界框的平均角坐标和该角坐标的协方差矩阵;以及生成包括尺度独立边界框空间数据的输出张量。
[0113]
在硬件加速器的另一实施方案中,每个特征张量包括由高度、宽度和多个通道定义的特征图数据,并且特征张量的尺度被定义为高度
·
宽度。
[0114]
在硬件加速器的另一实施方案中,fd模块包括:丢包掩码生成模块,该丢包掩码生成模块被配置为针对每次检测经过生成用于每个特征张量的随机丢包掩码;和多个检测器头,每个检测器头包括多个卷积模块和至少一个丢包掩码应用模块,每个检测器头被配置为接收不同特征张量,以及对于每次检测经过,基于特征张量和相应丢包掩码来确定用于对象的多个尺度依赖边界框,以及基于该多个尺度依赖边界框来确定尺度依赖边界框空间数据。
[0115]
在硬件加速器的另一实施方案中,每个检测器头被配置为确定客观评分和类别概率。
[0116]
在硬件加速器的另一实施方案中,fd模块包括第一检测器头和第二检测器头,第一检测器头被配置为接收具有第一尺度的第一特征张量,并且第二检测器头被配置为接收具有大于第一尺度的第二尺度的第二特征张量;第二检测器头包括上采样器模块和级联模块,上采样器模块被配置为接收来自第一检测器头的第一卷积模块的第一特征张量以及增加第一特征张量的尺度以匹配第二特征张量的尺度,并且级联模块被配置为级联放大第一特征张量和第二特征张量以及将级联的第二特征张量提供给第二检测器头的第一卷积模块;并且级联的第二特征张量具有的通道总数等于放大第一特征张量的通道数量加上第二特征张量的通道数量。
[0117]
在硬件加速器的另一实施方案中,fd模块包括第三检测器头,该第三检测器头被配置为接收第三特征张量,该第三特征张量具有大于第二尺度的第三尺度;第三检测器头包括上采样器模块和级联模块,上采样器模块被配置为接收来自第二检测器头的第一卷积模块的第二特征张量以及增加第二特征张量的尺度以匹配第三特征张量的尺度,级联模块被配置为级联放大第二特征张量和第三特征张量以及将级联的第三特征张量提供给第三
检测器头的第一卷积模块;并且级联的第三特征张量具有的通道总数等于放大第二特征张量的通道数量加上第三特征张量的通道数量。
[0118]
在硬件加速器的另一实施方案中,第一检测器头还包括耦合到第一卷积模块和丢包掩码生成模块的第一掩码模块、耦合到第一掩码模块的第二卷积模块、耦合到第二卷积模块和丢包掩码生成模块的第二掩码模块、以及耦合到第二掩码模块的第三卷积模块;第二检测器头还包括耦合到第一卷积模块和丢包掩码生成模块的第一掩码模块、耦合到第一掩码模块的第二卷积模块、耦合到第二卷积模块和丢包掩码生成模块的第二掩码模块、以及耦合到第二掩码模块的第三卷积模块;并且第三检测器头还包括耦合到第一卷积模块和丢包掩码生成模块的第一掩码模块、耦合到第一掩码模块的第二卷积模块、耦合到第二卷积模块和丢包掩码生成模块的第二掩码模块、以及耦合到第二掩码模块的第三卷积模块。
[0119]
在硬件加速器的另一实施方案中,bfe模块包括卷积神经网络(cnn)模型。
[0120]
在硬件加速器的另一实施方案中,cnn模型是残差网络(resnet)模型。
[0121]
在硬件加速器的另一实施方案中,丢包掩码生成模块包括bernoulli掩码发生器,并且fa模块包括monte carlo模拟模型。
[0122]
在一个实施方案中,一种用于检测对象的方法包括:在主干特征提取(bfe)模块处,接收包括至少一个对象的图像数据;以及基于该图像数据生成多个特征张量,每个特征张量具有不同的尺度;在特征检测(fd)模块处,接收来自bfe模块的特征张量;执行多次检测经过,每次检测经过包括:向特征张量应用随机丢包掩码,对于每个特征张量,确定尺度依赖边界框空间数据,该尺度依赖边界框空间数据包括用于对象的多个尺度依赖边界框的平均角坐标和该角坐标的协方差矩阵;以及生成与每个特征张量相关联的中间张量,每个中间张量包括用于相关联特征张量的每次检测经过的尺度依赖边界框空间数据;在滤波和平均(fa)模块处,接收来自fd模块的中间张量;基于中间张量确定尺度独立边界框空间数据,该尺度独立边界框空间数据包括用于对象的尺度独立边界框的平均角坐标和该角坐标的协方差矩阵;以及生成包括尺度独立边界框空间数据的输出张量。
[0123]
在方法的另一实施方案中,每个特征张量包括由高度、宽度和多个通道定义的特征图数据,并且特征张量的尺度被定义为高度
·
宽度。
[0124]
在方法的另一实施方案中,该方法还包括:在fd模块处,由丢包掩码生成模块针对每次检测经过生成用于每个特征张量的随机丢包掩码;以及在多个检测器头处接收不同特征张量,每个检测器头包括多个卷积模块和至少一个丢包掩码应用模块,所述执行每次检测经过包括:在每个检测器头处,基于特征张量和相应丢包掩码来确定用于对象的多个尺度依赖边界框;以及在每个检测器头处,基于该多个尺度依赖边界框来确定尺度依赖边界框空间数据。
[0125]
在方法的另一实施方案中,所述执行每次检测经过包括在每个检测器头处,确定客观评分和类别概率。
[0126]
在方法的另一实施方案中,fd模块包括第一检测器头和第二检测器头,该第二检测器头包括上采样器模块和级联模块,并且该方法还包括:在第一检测器头处,接收具有第一尺度的第一特征张量;在第二检测器头处,接收具有大于第一尺度的第二尺度的第二特征张量,接收来自第一检测器头的第一卷积模块的第一特征张量,在上采样器模块处增加第一特征张量的尺度以匹配第二特征张量的尺度,在级联模块处级联放大第一特征张量和
第二特征张量,以及将级联的第二特征张量提供给第二检测器头的第一卷积模块,级联的第二特征张量具有的通道总数等于放大第一特征张量的通道数量加上第二特征张量的通道数量。
[0127]
在方法的另一实施方案中,fd模块包括第三检测器头,该第三检测器头包括上采样器模块和级联模块,并且该方法还包括:在第三检测器头处,接收具有大于第二尺度的第三尺度的第三特征张量,接收来自第二检测器头的第一卷积模块的第二特征张量,在上采样器模块处增加第二特征张量的尺度以匹配第三特征张量的尺度,在级联模块处级联放大第二特征张量和第三特征张量,以及将级联的第三特征张量提供给第三检测器头的第一卷积模块,级联的第三特征张量具有的通道总数等于放大第二特征张量的通道数量加上第三特征张量的通道数量。
[0128]
在方法的另一实施方案中,该方法还包括:在第一检测器头处,由第一卷积模块对第一特征张量执行卷积操作以更新第一特征张量,由第一掩码模块对第一特征张量执行掩蔽操作以掩蔽第一特征张量,由第二卷积模块对第一特征张量执行卷积操作以更新第一特征张量,由第二掩码模块对第一特征张量执行掩蔽操作以掩蔽第一特征张量,由第三卷积模块对第一特征张量执行卷积操作以更新第一特征张量,以及由中间张量生成模块基于第一特征张量生成第一中间张量;在第二检测器头处,由第一卷积模块对第二特征张量执行卷积操作以更新第二特征张量,由第一掩码模块对第二特征张量执行掩蔽操作以掩蔽第二特征张量,由第二卷积模块对第二特征张量执行卷积操作以更新第二特征张量,由第二掩码模块对第二特征张量执行掩蔽操作以掩蔽第二特征张量,由第三卷积模块对第二特征张量执行卷积操作以更新第二特征张量,以及由中间张量生成模块基于第二特征张量生成第二中间张量;在第三检测器头处,由第一卷积模块对第三特征张量执行卷积操作以更新第三特征张量,由第一掩码模块对第三特征张量执行掩蔽操作以掩蔽第三特征张量,由第二卷积模块对第三特征张量执行卷积操作以更新第三特征张量,由第二掩码模块对第三特征张量执行掩蔽操作以掩蔽第三特征张量,由第三卷积模块对第三特征张量执行卷积操作以更新第三特征张量,以及由中间张量生成模块基于第三特征张量生成第三中间张量。
[0129]
在方法的另一实施方案中,bfe模块包括卷积神经网络(cnn)模型。
[0130]
在方法的另一实施方案中,cnn模型是残差网络(resnet)模型。
[0131]
在方法的另一实施方案中,随机丢包掩码是bernoulli掩码,并且fa模块包括monte carlo模拟模型。
[0132]
虽然本公开的具体实施能够具有许多不同形式的实施方案,但在附图中示出并将在本文详细描述具体实施方案,应当理解,本公开应被视为本公开的原理的示例,而并非旨在将本公开限制于所示和所述的具体实施方案。在上面的描述中,类似的附图标号可用于描述附图的若干视图中的相同、类似或对应的部件。
[0133]
在本文档中,关系术语,诸如第一和第二、顶部和底部等可仅用于将一个实体或动作与另一个实体或动作区分开,而不一定要求或暗示此类实体或动作之间的任何实际的此类关系或次序。术语“包括”、“包含”、“含有”、“具有”或它们的任何其他变型旨在涵盖非排他性的包括,使得包括一系列元素的过程、方法、制品或装置不仅包括那些要素,而且可包括未明确列出的或此类过程、方法、制品或装置固有的其他元素。前面带有“包括

一个”的元件在没有更多限制的情况下不排除在包括该元件的过程、方法、制品或装置中存在另外
的相同元件。
[0134]
贯穿本文档提及的“一个实施方案”、“某些实施方案”、“实施方案”、“具体实施”、“方面”或类似术语意指结合该实施方案描述的特定特征、结构或特性包括在本公开的至少一个实施方案中。因此,此类短语在本说明书内各个地方的出现不一定都是指相同的实施方案。此外,具体特征、结构或特性可以任何合适的方式无限制地组合在一个或多个实施方案中。
[0135]
如本文所用,术语“或”将被解释为包含性的或意指任何一种或任何组合。因此,“a、b或c”意指“以下中的任一者:a;b;c;a和b;a和c;b和c;a、b和c。”只有当元件、功能、步骤或动作的组合以某种方式固有地相互排斥时,才会出现该定义的例外。另外,语法上的连接旨在表达所连接的分项、句子、词语等的任何和所有分离和连接的组合,除非另有说明或从上下文来看是清楚的。因此,术语“或”通常应理解为意指“和/或”等等。对单数形式的项的引用应理解为包括复数形式的项,反之亦然,除非另有明确说明或从文字中清楚可见。
[0136]
除非另外指明,否则本文对值的范围的表述并非旨在进行限制,而是单独地指代落入该范围内的任何和所有值,并且此类范围内的每个单独的值被并入本说明书中,如同在本文中被单独地表述一样。当伴随数值时,词语“约”、“大约”等应理解为指示偏差,如本领域的普通技术人员将理解的那样,该偏差令人满意地操作以用于预期目的。值和/或数值的范围在本文中仅作为示例提供,并且不构成对所述实施方案的范围的限制。本文提供的任何和所有示例或示例性语言(“例如”、“诸如”等)的使用仅旨在更好地说明实施方案,而并非对实施方案的范围构成限制。本说明书中的任何语言都不应理解为表示任何未要求保护的元素对于实施方案的实践是必不可少的。
[0137]
为了简化和清楚地说明,可在附图中重复附图标号以指示对应的或类似的元件。阐述了许多细节以提供对本文所述的实施方案的理解。可以在没有这些细节的情况下实践实施方案。在其它情况下,未详细描述熟知的方法、程序和部件以避免模糊所述实施方案。本说明书不应被视为限于本文所述的实施方案的范围。
[0138]
在以下描述中,应当理解,诸如“第一”、“第二”、“顶部”、“底部”、“上”、“下”、“上方”、“下方”等术语是为了方便起见,并且不应理解为限制性的术语。而且,术语“装置”、“设备”、“系统”等在本文中可互换使用。
[0139]
根据详细的说明书,本公开的许多特征和优点是显而易见的,因此,所附权利要求书旨在涵盖落入本公开范围内的本公开的所有此类特征和优点。此外,由于本领域的技术人员将容易想到许多修改和变型,因此不期望将本公开限制于所示和所述的确切构造和操作,并且因此,可采取落入本公开的范围内的所有合适的修改和等同物。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1