目标检测系统和方法与流程

文档序号:11217306阅读:1615来源:国知局
目标检测系统和方法与流程

本发明涉及图像处理,尤其涉及一种目标检测系统和方法。



背景技术:

基于人工神经网络,尤其是卷积神经网络(cnn,convolutionalneuralnetwork)的方法在很多应用中都取得了极大的成功。在计算机视觉领域,特别是针对图像分类和识别问题,卷积神经网络(cnn)的引入使得图像分类的精度大幅提高。

虽然cnn在一般的物体检测中展现了强大的性能,但是对于例如行人检测的特定目标的检测结果却不甚理想。这主要由于深层卷积的神经网络最终输入分类器的特征图通常对于小物体而言分辨率较低,以及行人检测通常是由背景带来混淆(不同于一般物体检测由于多种分类带来的混淆),因此使用现有的cnn技术进行行人检测面临着天然的缺陷。

另一方面,当前效果较好的行人检测器一般采用结合了传统的手工设计特征和深度卷积特征的混合方法。由于特征需要手工设计并且需要深度卷积,因此现有的行人检测方案也是耗费人工并且计算效率不高。

鉴于例如行人检测的特定目标检测应用在诸如自动驾驶和安防等领域内的巨大应用潜力,存在着对使用cnn实现的高精度且快速的目标检测系统的需要。



技术实现要素:

为了解决上述cnn针对特定目标检测结果不佳的问题,本发明提出了一种卷积神经网络(cnn)结合随机森林的目标检测方案,卷积神经网络和随机森林可以通过配合提高针对特定目标的检测任务的准确率和召回率。可以将cnn对输入图像的处理结果作为特征输入随机森林,随机森林进一步处理上述特征,以单个固定形状区域为单位,预测此区域包含特定目标的概率。

根据本发明的一个方面,提出了一种目标检测系统,包括:特征计算模块,采用人工神经网络计算输入图像的非线性特征,所述非线性特征包括至少一个一维向量,所述一维向量由针对所述输入图像的特定区域的多个通道特征组成;概率计算模块,采用决策树森林根据所述非线性特征计算所述特定区域包含目标的概率,其中,所述决策树森林直接使用到达决策树叶节点的所述一维向量中的至少一个通道特征来获取所述特定区域包含目标的概率。

根据本发明的另一个方面,还提出了用于上述目标检测系统执行的目标检测方法。

根据本发明的又一个方面,决策树森林和人工神经网络的至少一部分可由数字电路实现。决策树森林里的每一棵决策树都是左右子树深度相同或相近的决策树。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了神经网络中神经元刺激累积的示意图。

图2示出了典型的cnn的示意图。

图3示出了典型的决策树的示意图。

图4是根据本发明一个实施例的目标检测系统的图示。

图5示出了概率计算模块的一个实现例。

图6示出了可用于实现本发明的目标检测系统的soc的一个例子。

图7示出了本发明一个决策树森林的例子。

图8示出了根据本发明一个实施例的目标检测方法的图示。

图9示出了概率计算步骤的一个实现例。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本申请中,将主要以行人检测为例来说明本发明对特定目标检测的改进。本申请的方案适用于各种人工神经网络,包括深度神经网络(dnn)、循环神经网络(rnn)与卷积神经网络(cnn),其中尤其以非全连接且同层权重共享的cnn得到更为广泛的应用。

卷积神经网络的基本概念

人工神经网络是一种基于仿生设计的数学模型,其是由大量的简单处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,近年来被广泛应用于图像识别和语音识别等任务。

如图1所示,神经元积累的刺激是由其他神经元传递过来的刺激量和对应的权重之和,xj表示这种积累,yi表示某个神经元传递过来的刺激量,wi表示链接某个神经元刺激的权重,得到公式:

xj=(y1*w1)+(y2*w2)+...+(yi*wi)+...+(yn*wn)

而当xj完成积累后,完成积累的神经元本身对周围的一些神经元传播刺激,将其表示为yj得到如下所示:

yj=f(xj)

神经元根据积累后xj的结果进行处理后,对外传递刺激yj。用f函数映射来表示这种处理,并可将它称之为激活函数。

卷积神经网络(cnn)是一种特殊的深层的神经网络模型。它的神经元间的连接是非全连接的,并且同一层中某些神经元之间的连接的权重是共享的(即相同的)。它的非全连接和权值共享的网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。

如图2所示,典型的cnn由一系列有序运行的层组成。

cnn模型的参数被称为“权重”。cnn的第一层读取输入图像,并输出一系列的特征图(map)。下面的层读取由上一层产生的特征图,并输出新的特征图。最后一个分类器(classifier)输出该输入图像可能属于的每一类别的概率。conv层(卷积层)和fc层(全连接层)是cnn中两种基本层类型。conv层后通常还接有池化层(poolinglayers)。

卷积层以一系列特征图作为输入,并以卷积内核卷积获得输出特征图。池化层通常与conv层相连,用于输出每个特征图中的每个分区的最大值或平均值,由此通过亚采样降低计算量,同时保持某种程度的位移、尺度和形变不变性。一个cnn中可以包括卷积层和池化层之间的多个交替,由此逐步降低空间分辨率并增加特征映射的数量。随后可以连接至至少一个全连接层,通过应用于输入特征向量上的线性变换,得到包括多个特征值的一维向量输出。

在对任何任务使用cnn之前,应该首先训练cnn数据集。在训练过程中,输入训练数据,使用bp算法(误差反向传播算法)根据得到的误差函数反向调整cnn各层的权重,由此训练得到各层的权重参数。

虽然cnn在一般性的物体检测中展现了强大的性能,但是对于某些特定目标的检测(例如,行人检测)却不太成功。通过研究cnn在行人检测中存在的问题,发现其在单独的行人检测器中表现良好,但是随后的分类器却降低了该结果。这通常是由于如下两点事实:第一,对于一般性的物体检测,通常需要进行的是多种分类的训练而行人检测中,则是复杂的背景容易与行人混淆。第二,通常用于输入cnn分类器的卷积特征图对于小物体而言分辨率太低。因此,在本发明中,可以考虑使卷积深度较浅且分辨率更高的特征图,并且使用更为灵活的随机森林代替神经网络中最后的分类器,由此提升对特定目标检测的准确率。

随机森林的基本概念

随机森林由许多的决策树组成,因为这些决策树的形成采用了随机的方法,因此也叫做随机决策树,随机森林也可称为决策树森林。随机森林中的树之间是没有关联的。当测试数据进入随机森林时,其实就是让每一颗决策树进行分类,最后取所有决策树中分类结果最多的那类为最终的结果。因此随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。

决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。决策树中每个非叶节点可以左右生长,并且根据具体实现,各枝生长的深度往往不同。图3示出了一个决策树的例子。如图中箭头所示,输入的数据(input)根据每个途径节点的属性测试,最终被分类到一个具体的叶节点上。

在本发明的技术方案中,随机森林可以执行有效的误判背景挖掘(例如,将易于混淆的背景与行人相区别)以及样本的重新赋权,由此结合从cnn输出的卷积深度较浅且分辨率更高的特征图,能够得到相比于单独cnn的改善的检测结果,以及相比于现有混合方法的更快的计算速度。

结合cnn和随机森林的目标检测方案

图4示出了根据本发明一个实施例的目标检测系统。该目标检测系统400包括特征计算模块410和概率计算模块420。

特征计算模块410采用人工神经网络计算输入图像的非线性特征。由人工神经网络,优选为cnn输出的非线性特征包括至少一个一维向量,所述一维向量由针对所述输入图像的特定区域的多个通道特征组成。

在一个实施例中,特征计算模块410采用的神经网络可以使用更浅但分辨率更高的层来池化特征,并且可以使用hole算法来增加特征图的尺寸。例如,特征计算模块410可以输出与输入图像内疑似行人的区域个数相同个数的一维向量。每个一维向量都描述了针对一个特定区域(例如7x7区域)的多个特征,例如256个特征。

随后,概率计算模块420可以采用决策树森林根据所述非线性特征计算所述特定区域包含目标的概率。不同于现有技术中决策树根据落在具体叶上进行01编码然后预测,在本发明的检测方案中,决策树森林直接使用到达决策树叶节点的一维向量中的至少一个通道特征来获取所述特定区域包含目标的概率。

图5示出了概率计算模块的一个具体实现。概率计算模块520可以包括非叶节点计算模块521、叶节点计算模块522和森林汇总模块523。

非叶节点计算模块521可以根据当前的决策树非叶节点设置,读取对应的通道特征和节点阈值,根据通道特征和节点阈值的比较结果选择要进行计算的下一级节点。

在实际运算中,非叶节点计算模块521首先针对决策树的首层节点,读取存储的由在前训练得到的要读入通道特征的位置索引以及特征阈值,随后从cnn输出的非线性特征中读取与该位置索引相对应的通道特征值并与特征阈值相比较,根据比较结果选择要进行计算的是左下还是右下的节点。非叶节点计算模块521可以对各层的非叶节点执行类似的操作,直到抵达叶节点为止。

叶节点计算模块522可以根据叶节点参数和落入所述叶节点中的通道特征,计算该叶节点所在决策树针对所述特定区域的树输出。森林汇总模块523则根据获取的每一个树输出计算所述特定区域包含目标的概率。

在一个实施例中,叶节点参数包括回归系数和偏置量。叶节点计算模块522计算的树输出可以是回归值。森林汇总模块523则可以根据获取的每一个回归值累加得到特定区域包含目标的概率,例如,是行人还是背景的概率。

在实际使用中,上述目标检测系统的部分功能可由数字电路实现。特征计算模块410和概率计算模块420的至少一部分由数字电路实现,在一个实施例中,本发明的目标检测系统可以在包括通用处理器、存储器和数字电路的片上系统(soc)实现。图6示出了可用于实现本发明的目标检测系统的soc的一个例子。

在一个实施例中,可由soc上的数字电路部分(例如,fpga)来实现本系统所需的卷积神经网络和决策树森林。由于cnn和决策树森林进行的是并行计算,因此,通过逻辑硬件,尤其是fpga来实现目标检测功能具有天然的计算优势,并且相比于软件执行,能够实现更低的功耗。

在一个实施例中,可以将通过在前训练得到的有关cnn和决策树森林的全部参数都存储在片上系统的存储器(例如,主存储器)中,在随后进行目标检测时,首先从主存储器中读取cnn各层的参数来对输入图像执行神经网络计算,由此得到非线性特征。随后,将大量连续特征(例如,针对特定区域的所有通道的特征)连同计算中需要使用的决策树的参数(包括节点参数和回归参数)一次性地从主存储器读入逻辑硬件的缓存模块。这样可以减少计算下一个区域时的读取数据造成的延时,并且增加每次读取主存的利用率,由此提升整体的计算效率。另外,可以对在逻辑硬件上实现的cnn和决策树森林进行定点化操作,从而进一步提升系统的计算效率。

在一个实施例中,决策树森林里的每一棵决策树可以都是左右子树深度相同或相近的决策树。优选地,森林里的决策树可以具有相同的深度。如图7所示,可以是具有深度为3且左右子树对称分布的决策树森林。本发明的决策树森林也可以根据例如精度需求以及硬件和缓存资源的情况来选择不同的深度。

在一个实施例中,决策树森林可以多个层。层数越多,随机森林进行自举训练的次数也就越多。例如,可以布置分成5层且每层1000棵树的随机森林。每一层决策树的数量可以不同,层间的决策树深度也可以不同,但是优选在同一层内的每棵决策树都是具有相同深度的左右对称的决策树。这样就可以确保每棵树以相同的速度进行判断和转移,因此可以确保每个决策树以相同的步调得出分类结果,可以使得本发明的检测系统能够直接使用到达决策树叶节点的多个通道特征来计算得到特定区域包含目标的概率。例如,可以直接根据通道特征所到达的叶节点参数计算此决策树对此通道特征的回归值,并对所有决策树得到的回归值进行累加,由此得到该特定区域属于行人或是背景的概率。

通过减少决策树的级数,增加决策树的平衡性,即使任意节点的左右子树的深度接近,可以增加参数的存储利用率,并且减小寻址模块数字电路的复杂性。在实际使用中,可以根据精度需求以及硬件和缓存资源的情况选择要使用的层数。在决策树数量过多时,可以每次读入部分决策树的参数并进行计算,以保证此阶段使用的所有参数可以存储在片上缓存中。

在一个实施例中,从cnn输出的非线性特征可以包括针对多个特定区域的多个一维向量。并且所述系统可以针对不同的特定区域选取相同或不同的决策树执行该特定区域包含目标的概率的计算。

如图8所示,本发明的目标检测系统还可以实现相应的目标检测方法。在步骤810,采用人工神经网络计算输入图像的非线性特征。该非线性特征包括至少一个一维向量,所述一维向量由针对所述输入图像的特定区域的多个通道特征组成。在步骤820,采用决策树森林根据所述非线性特征计算所述特定区域包含目标的概率。决策树森林可以直接使用到达决策树叶节点的所述一维向量中的至少一个通道特征来获取所述特定区域包含目标的概率。在一个实施例中,可以读取针对特定区域的所有通道的特征,并读取所有或部分决策树参数,包括节点参数和回归参数。

在一个实施例中,步骤820可以包括进一步包括子步骤。图9示出了概率计算步骤的一个具体实现例。在步骤921,非叶节点计算步骤,根据当前的决策树非叶节点设置,读取对应的通道特征和节点阈值,根据通道特征和节点阈值的比较结果选择要进行计算的下一级节点。在步骤922,根据叶节点参数和落入所述叶节点中的通道特征,计算该叶节点所在决策树针对所述特定区域的树输出。在步骤923,根据获取的每一个树输出计算所述特定区域包含目标的概率。叶节点参数可以包括回归系数和偏置量,并且树输出可以是回归值。因此在步骤923中,可以根据获取的每一个回归值累加得到所述特定区域包含目标的概率。

上文中已经参考附图详细描述了根据本发明的目标检测系统、方法及其硬件实现。

本发明提出的卷积神经网络和随机森林的联合结构,可以利用神经网络提取更具有判别性的特征,提高行人和背景两种区域之间的差异性,同时使用随机森林在神经网络特征的基础做最终计算,比单纯使用神经网络做检测,可以使用更高分辨率的特征,使检测到的物体位置更准确,并且对相对小的目标更敏感。由此解决了单纯的神经网络端到端行人检测的分辨率低,位置不准的问题。通过使用逻辑硬件实现上述卷积神经网络和随机森林,可以在多个维度上并发计算卷积神经网络,并且可以同时进行多个决策树的计算,这降低了每帧图像分析的整体延时,并且解决了单纯的cpu和gpu实现中运算性能不足,对随机访问主存支持较差的缺点。另外,本发明通过利用片上缓存存储大量特征和参数,大大减少访问主存的次数,提高计算速度。通过针对卷积神经网络和神经网络的特点,本发明可以采用专用的硬件加速高度并行地实现卷积、池化、非线性函数、比较、回归、累加等基本函数的计算,而计算中所需使用数据、参数和中间结果可被缓存在片上,避免访问主存成为程序速度的瓶颈。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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