行人检测设备和方法转让专利

申请号 : CN201480083931.0

文献号 : CN107003834B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤晓鸥田永龙罗平王晓刚

申请人 : 北京市商汤科技开发有限公司

摘要 :

公开了一种行人检测设备。该行人检测设备可以包括:提取装置,配置成从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源;分配装置,配置成基于多个训练图像块的类型将预设属性分配到训练图像块;训练装置,配置成基于具有所分配的预设属性的训练图像块来训练神经网络,以生成多任务分类模型;以及确定装置,配置成基于生成的多任务分类模型来确定输入图像中的一个或多个行人。本发明还公开一种行人检测方法。

权利要求 :

1.一种行人检测方法,包括:

从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源;

基于所述训练图像块的类型,将预设属性分配到所述训练图像块;

基于具有分配的预设属性的训练图像块来训练神经网络,生成多任务分类模型;以及基于生成的多任务分类模型确定输入图像中的一个或多个行人,其中分配所述预设属性包括:将所述预设属性的行人属性分配到来自所述行人数据源的正图像块;以及将所述预设属性的场景属性分配到来自所述背景场景数据源的负图像块。

2.根据权利要求1所述的行人检测方法,其中所述提取包括:从所述预定数据源和所述背景场景数据源中选择多个训练图像;

从选择的训练图像中生成候选图像块;

从所述行人数据源中的生成的候选图像块中提取所述正图像块和所述负图像块;以及从所述背景场景数据源中的生成的候选图像块中提取所述负图像块。

3.根据权利要求1所述的行人检测方法,其中所述场景属性包括所有的背景场景数据源中包括的共享属性和所述背景场景数据源中的一个中包括的非共享属性。

4.根据权利要求1所述的行人检测方法,其中所述神经网络包括多个卷积层、至少一个最大池化层和至少一个全连接层,并且其中所述最大池化层中的每个之后是所述卷积层中的对应卷积层。

5.根据权利要求1所述的行人检测方法,其中所述多任务分类模型被配置成学习检测任务、行人属性任务和场景属性任务。

6.根据权利要求1所述的行人检测方法,其中所述确定包括:基于生成的多任务分类模型来获取行人检测结果,所述行人检测结果包括行人检测得分、行人属性和场景属性;以及基于获取的行人检测结果来确定输入图像中的一个或多个行人。

7.一种行人检测设备,包括:

提取装置,配置成从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源;

分配装置,配置成基于所述多个训练图像块的类型将预设属性分配到所述训练图像块;

训练装置,配置成基于具有分配的预设属性的训练图像块来训练神经网络,生成多任务分类模型;以及确定装置,配置成基于生成的多任务分类模型来确定输入图像中的一个或多个行人,其中所述分配装置还被配置成:将所述预设属性的行人属性分配到来自所述行人数据源的正图像块;以及将所述预设属性的场景属性分配到来自所述背景场景数据源的负图像块。

8.根据权利要求7所述的行人检测设备,其中所述提取装置包括:选择器,配置成分别从所述行人数据源和所述背景场景数据源中选择多个训练图像;

生成模块,配置成从选择的训练图像中生成候选图像块;以及提取模块,配置成从所述行人数据源中的生成的候选图像块中提取所述正图像块和所述负图像块,以及从所述背景场景数据源中的生成的候选图像块中提取所述负图像块。

9.根据权利要求7所述的行人检测设备,其中所述场景属性包括所有的背景场景数据源中包括的共享属性和所述背景场景数据源中的一个中包括的非共享属性。

10.根据权利要求7所述的行人检测设备,其中所述神经网络包括多个卷积层、至少一个最大池化层和至少一个全连接层,并且其中所述最大池化层中的每个之后是所述卷积层中的对应卷积层。

11.根据权利要求7所述的行人检测设备,其中所述多任务分类模型被配置成学习检测任务、行人属性任务和场景属性任务。

12.根据权利要求7所述的行人检测设备,其中所述确定装置还被配置成基于生成的多任务分类模型来获取包括行人检测得分、行人属性和场景属性的行人检测结果,并且基于获取的行人检测结果来确定输入图像中的一个或多个行人。

说明书 :

行人检测设备和方法

技术领域

[0001] 本申请总体涉及图像处理的领域,更具体地说,涉及行人检测设备和行人检测方法。

背景技术

[0002] 近年来,随着高性能移动和可穿戴装置的快速发展和普及,行人检测因其大量的潜在应用而受到越来越多的关注。由于人体和背景场景中存在较大的变化和混乱,因此,行人检测具有挑战性。
[0003] 行人检测的当前方法通常分成两类,即,基于手工制作的特征的模型和深度模型。在第一类中,使用传统方法从图像中提取图像块(patch),以训练或提高分类器。尽管它们对于某些姿势变化来说是足够的,但特征表示和分类器无法联合优化以提高性能,并且它们不能捕获较大变化。在第二类中,因为深度神经网络能够学习中级表示(mid-level representation),因此深度神经网络取得了非常好的结果。然而,先前的深度模型将行人检测当作单个二元分类任务,并且它们主要学习中级特征但不能够捕获丰富的行人变化。

发明内容

[0004] 根据本申请的实施例,公开了一种行人检测方法。该方法可包括:从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源;基于训练图像块的类型,将预设属性分配到训练图像块;基于具有所分配的预设属性的训练图像块来训练神经网络,生成多任务分类模型;以及基于生成的多任务分类模型来确定输入图像中的一个或多个行人。
[0005] 根据本申请的一实施例,分配所述预设属性包括:
[0006] 将所述预设属性的行人属性分配到来自所述行人数据源的正图像块;以及[0007] 将所述预设属性的场景属性分配到来自所述背景场景数据源的负图像块。
[0008] 根据本申请的一实施例,所述提取包括:
[0009] 从所述预定数据源和所述背景场景数据源中选择多个训练图像;
[0010] 从选择的训练图像中生成候选图像块;
[0011] 从所述行人数据源中的生成的候选图像块中提取所述正图像块和所述负图像块;以及
[0012] 从所述背景场景数据源中的生成的候选图像块中提取所述负图像块。
[0013] 根据本申请的一实施例,所述场景属性包括所有的背景场景数据源中包括的共享属性和所述背景场景数据源中的一个中包括的非共享属性。
[0014] 根据本申请的一实施例,所述神经网络包括多个卷积层、至少一个最大池化层和至少一个全连接层,并且其中所述最大池化层中的每个之后是所述卷积层中的对应卷积层。
[0015] 根据本申请的一实施例,所述多任务分类模型被配置成学习检测任务、行人属性任务和场景属性任务。
[0016] 根据本申请的一实施例,所述确定包括:
[0017] 基于生成的多任务分类模型来获取行人检测结果,所述行人检测结果包括行人检测得分、行人属性和场景属性;以及
[0018] 基于获取的行人检测结果来确定输入图像中的一个或多个行人。
[0019] 根据本申请的实施例,公开了一种行人检测设备。该行人检测设备可以包括:提取装置,其被配置成从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源;分配装置,其被配置成基于多个训练图像块的类型将预设属性分配到训练图像块;和训练装置,其被配置成基于具有所分配的预设属性的训练图像块来训练神经网络,生成多任务分类模型;以及确定装置,其被配置成基于生成的多任务分类模型来确定输入图像中的一个或多个行人。
[0020] 根据本申请的一实施例,所述分配装置还被配置成:
[0021] 将所述预设属性的行人属性分配到来自所述行人数据源的正图像块;以及[0022] 将所述预设属性的场景属性分配到来自所述背景场景数据源的负图像块。
[0023] 根据本申请的一实施例,所述提取装置包括:
[0024] 选择器,配置成分别从所述行人数据源和所述背景场景数据源中选择多个训练图像;
[0025] 生成模块,配置成从选择的训练图像中生成候选图像块;以及
[0026] 提取模块,配置成从所述行人数据源中的生成的候选图像块中提取所述正图像块和所述负图像块,以及从所述背景场景数据源中的生成的候选图像块中提取所述负图像块。
[0027] 根据本申请的一实施例,所述场景属性包括所有的背景场景数据源中包括的共享属性和所述背景场景数据源中的一个中包括的非共享属性。
[0028] 根据本申请的一实施例,所述神经网络包括多个卷积层、至少一个最大池化层和至少一个全连接层,并且其中所述最大池化层中的每个之后是所述卷积层中的对应卷积层。
[0029] 根据本申请的一实施例,所述多任务分类模型被配置成学习检测任务、行人属性任务和场景属性任务。
[0030] 根据本申请的一实施例,所述确定装置还被配置成基于生成的多任务分类模型来获取包括行人检测得分、行人属性和场景属性的行人检测结果,并且基于获取的行人检测结果来确定输入图像中的一个或多个行人。

附图说明

[0031] 下文参考附图描述本发明的示例性非限制实施例。附图是说明性的,并且一般不按确切比例。不同图上的相同或类似元件引用相同的附图标号。
[0032] 图1是示出符合本申请的一些实施例的行人检测设备的示意图。
[0033] 图2是示出符合一些公开实施例的行人检测设备在软件中实施时的示意图。
[0034] 图3是示出符合一些公开实施例的提取装置的示意图。
[0035] 图4是示出符合一些公开实施例的任务助手卷积神经网络的示意图。
[0036] 图5是示出符合一些公开实施例的行人检测方法的示意流程图。

具体实施方式

[0037] 现在将详细参考示例性实施例,这些实施例的示例将在附图中说明。在适当的时候,附图中相同的附图标号始终指代相同或相似部分。图1是示出符合一些公开实施例的示例性行人检测设备1000的示意图。
[0038] 参考图1,其中行人检测设备1000由硬件实施,它可以包括提取装置100、分配装置200、训练装置300和确定装置400。
[0039] 应了解,可以使用某一硬件、软件或它们的组合来实施设备1000。此外,本发明的实施例可以适于计算机程序产品,所述计算机程序产品体现在含有计算机程序代码的一个或多个计算机可读存储介质上(包括但不限于,磁盘存储器、CD-ROM、光学存储器等)。图2是示出符合一些公开实施例的行人检测设备1000在软件中实施时的示意图。
[0040] 在利用软件实施行人检测设备1000的情况下,设备1000可以包括通用计算机、计算机集群、主流计算机、专用于提供在线内容的计算装置,或者计算机网络,所述计算机网络包括一组以集中或分布方式操作的计算机。如图2所示,设备1000可以包括一个或多个处理器(处理器102、104、106等)、存储器112、存储装置116以及促进设备1000的各种装置之间的信息交换的总线。处理器102到106可以包括中央处理单元(“CPU”)、图形处理单元(“GPU”)或者其他合适的信息处理装置。根据所使用的硬件的类型,处理器102到106可以包括一个或多个印刷电路板和/或一个或多个微处理器芯片。处理器102到106可以执行计算机程序指令的序列,以执行将在下文更详细地说明的各种方法。
[0041] 存储器112可以尤其包括随机存取存储器(“RAM”)和只读存储器(“ROM”)。计算机程序指令可以由存储器112存储、访问和从该存储器中读取,以便由处理器102到106中的一个或多个处理器执行。例如,存储器112可以存储一个或多个软件应用。此外,存储器112可以存储整个软件应用或者只存储可由处理器102到106中的一个或多个处理器执行的软件应用的一部分。应注意,尽管图2中只示出一个框,但存储器112可以包括安装在中央处理装置或不同计算装置上的多个物理装置。
[0042] 在图1所示的实施例中,提取装置100可被配置成从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源。行人数据源(简化为P数据源)和背景场景数据源(它们中的每个简化为B数据源)可以是现有数据源,例如,背景场景分割数据库等。
[0043] 在实施例中,如图3所示,提取装置100可以包括选择器110、生成模块120和提取模块130。选择器110可以被配置成分别从P数据源和B场景数据源中选择多个训练图像。
[0044] 生成模块120可以被配置成从选择的训练图像中生成候选图像块。例如,使用区域建议方法(region proposal method)从训练图像中生成候选图像块。在实施例中,生成模块120可被配置成基于候选图像块的类型来确定每个候选图像块是正还是负。
[0045] 由于负图像块的数量明显大于P数据源中的正图像块的数量,因此,提取模块130可被配置成从P数据源中的所生成的候选图像块中提取正图像块和负图像块并且从B数据源中的所生成的候选图像块中提取负图像块。
[0046] 回到图1,分配装置200可被配置成基于多个训练图像块的类型来将预设属性分配到训练图像块。例如,有三个类型的训练图像块,即,正图像块、困难负样本图像块和负图像块。如上文所述,提取模块130从P数据源中提取正图像块和负图像块并且从B数据源中提取负图像块。最后,分配装置200还可以被配置成将预设属性的行人属性分配到来自P数据源的正图像块,并且将预设属性的场景属性分配到来自B数据源的负图像块。在实施例中,行人属性可以手动加标签到来自P数据源的正图像块。
[0047] 在实施例中,行人属性可以包括,例如,背包、深色裤子、帽子、提包、性别、遮挡、骑乘、视角、白色衣服等。场景属性可以包括,例如,天空、树木、建筑物、道路、红绿灯、水平、竖直、车辆等。
[0048] 在实施例中,由于不同的B数据源可以具有不同的数据分布,因此,为了减小这些差异,场景属性包括所有的B数据源中都包括的共享属性和B数据源中的一个中包括的非共享属性。这样做是因为前一个使得能够学习B数据源上的共享表示,而后一个增强属性的多样性。
[0049] 图1中的训练装置300可以被配置成基于具有所分配的属性的训练图像块来训练任务助手卷积神经网络(TA-CNN),以生成多任务分类模型。
[0050] 图1中的确定装置400可以被配置成基于生成的多任务分类模型来确定输入图像中的一个或多个行人。具体而言,确定装置还被配置成基于生成的多任务分类模型来获取包括行人检测得分、行人属性和场景属性的行人检测结果,并且基于获取的行人检测结果来确定输入图像中的一个或多个行人。
[0051] 图4是示出符合一些公开实施例的TA-CNN的示意图。如图4所示,TA-CNN包括多个卷积层、至少一个最大池化层和至少一个全连接层,并且其中最大池化层中的每个之后是卷积层。下文将进一步详细论述如上文所述的TA-CNN的示例性训练过程。应理解,本发明不限于此。
[0052] 在实施例中,通过组合从P和B数据源中提取的训练图像块来构建训练集D。训练集D用公式表示成 其中每个 是四元组。具体而言 ,y n 表 示 二 元 标 签 ,该 二 元 标 签 表 明 图 像 块 是 不 是 行 人 。
和 是二元标签的三个集合,分别代
表行人、共享场景和非共享场景属性。如图4所示,TA-CNN将图像块xn用作输入,并且通过堆叠四个卷积层(convl到conv4)、四个最大池化层和两个全连接层(fc5和fc6)来预测yn。可以基于具有所分配的属性的训练图像块,针对多任务学习来迭代地训练TA-CNN,直到多任务分类模型收敛为止。
[0053] 在实施例中,通过卷积和最大池化来计算从convl到conv4的TA-CNN的每个隐藏层,用公式表示成:
[0054]
[0055]
[0056] 在等式(1)中,relu(x)=max(0,x)是经调整的线性函数,并且*表示应用在特征图的每个像素上的卷积算子,其中 和 分别代表l-1层处的第u个输入通道和l层处的第v个输出通道。kvu(l)和bv(l)表示滤波器和偏差。在等式(2)中,将特征图 分区成具有重叠单元的网格,每个重叠单元表示为Ω(i,j),其中(i,j)表明单元索引。最大池化将单元的每个位置(p,q)处的值进行比较,并且输出每个单元的最大值。
[0057] fc5和fc6中的每个隐藏层由下列获取:
[0058]
[0059] 其中,利用非线性映射从较低级来变换较高级表示。W(l)和b(l)是第l层处的权矩阵和偏差矢量。
[0060] TA-CNN可以用公式表示成最小化网络参数W的集合的对数后验概率:
[0061]
[0062] 其中 是关于整个训练集的完全损失函数。此处,等式(4)中的共享属性 对于学习多个B场景数据源上的共享表示很关键。
[0063] 为清楚起见 ,损失函数中 只保留非 共享场景属性 随 后变成xa表示Ba的样本。当且仅当所有的样本共享至少一个属
性时,才可以学习共享表示。由于样本是独立的,因此,损失函数可以扩展为
[0064]
[0065] 其中I+J+K=N,表明每个数据源只用来优化它的对应非共享属性,但在单个TA-CNN中训练所有的数据源和属性。
[0066] 上述公式不足以学习数据源中的共享特征,尤其是在数据具有较大差异时。为了桥 接 多 个 B 数 据 源 ,引 入 共 享 属 性 o s ,损 失 函 数 发 展 成使得TA-CNN可以学习B上的共享表示,因为样本共享公用目标os。
[0067] 为了减小P数据源与B数据源之间的差距,针对每个样本xn来计算结构投影矢量zn,并且等式(4)变成:
[0068]
[0069] 例如,上述分解式的第一项可以写成 其中通过将Ba中的对应 投影到P的特征空间上来获取 此处,将 用来桥接多个数据源,因为来自不同数据源的样本投影到P的公用空间。TA-CNN采用一对数据 作为输入。剩余的所有项都可以按类似方式导出。
[0070] 在实施例中,通过将P的正数据和负数据分别组织成两个树结构来计算每个样本的结构投影矢量(SPV),以便消除P数据源与B数据源之间的差距。每个树具有等于三的深度并且自上向下划分数据,其中每个子节点将它父辈的数据分组成群集。随后,通过连接它与每个叶节点之间的距离来获取每个样本的SPV。具体而言,在每个父节点处,提取每个样本的HOG特征并且应用k均值来分组数据。
[0071] 下文将进一步详细论述TA-CNN的示例性学习过程。为了学习网络参数W,将等式(5)用公式表示成:
[0072]
[0073] 其中,主任务是预测行人标签y和属性估计,即,opi,osj和ouk是辅助语义任务。α、β和γ表示将多个任务相关联的重要性系数。此处,p(y|x,z),p(opi|x,z),p(osj|x,z)和p(ouk|x,z)由softmax函数建模,例如, 其中h(L)和wm分别表明主任务y的顶层特征矢量和参数矩阵,并且由h(L)=relu(W(L)h(L-1)+b(L)+Wzz+bz)获取h(L)。
[0074] 将等式(6)中的学习多个任务计算成优化单个加权多变量交叉熵损失,这不仅可以学习紧凑权矩阵,而且迭代地估计重要性系数:
[0075]
[0076] 其中λ表示重要性系数的矢量并且diag(·)代表对角矩阵。此处,(y,op,os,ou)是二元标签的矢量,连接行人标签和所有的属性标签。等式(7)的优化在两个步骤之间迭代,从而利用固定的重要性系数来更新网络参数并且利用固定的网络参数来更新系数。通常,第一步骤可以运行足够的迭代次数,以达到局部最小值,随后执行第二步骤以更新系数。根据实施例,可以通过使用随机梯度下降和反向传播(BP)来更新网络参数,以最小化等式(7),其中自上向下传播输出层的误差,以更新每一层处的滤波器或权值。此外,可以利用固定的网络参数,通过最小化后验概率 来更新重要性系数。由于学习网络参数和重要性系数的方法类似于先前的方法,因此,为清楚起见,此处省略描述。
[0077] 多任务分类模型可以被配置成学习检测任务、行人属性任务和场景属性任务。在实施例中,行人检测结果包括行人检测得分、行人属性和场景属性。
[0078] 图5是示出符合一些公开实施例的行人检测方法2000的示意流程图。下文可以参考图6详细地描述方法2000。
[0079] 在步骤S201处,从预定数据源中提取多个训练图像块,所述预定数据源包括行人数据源和背景场景数据源。根据实施例,在提取过程期间,先从行人数据源和背景场景数据源中选择多个训练图像。例如,使用区域建议方法从训练图像中生成候选图像块。基于候选图像块的类型来确定候选图像块中的每个是正还是负。从P数据源中的所生成的候选图像块中提取正图像块和负图像块,并且从B数据源中的所生成的候选图像块中提取负图像块。
[0080] 在步骤S202处,基于训练图像块的类型将预设属性分配到训练图像块。例如,预设属性可以包括行人属性、共享场景属性和非共享场景属性。在实施例中,将行人属性分配到来自P数据源的正图像块,并且将共享和非共享场景属性分配到来自B数据源的负图像块。
[0081] 在步骤S203处,基于具有所分配的属性的训练图像块来训练任务助手卷积神经网络(TA-CNN),以生成多任务分类模型。在实施例中,TA-CNN包括多个卷积层、至少一个最大池化层和至少一个全连接层,并且最大池化层中的每个之后是卷积层中的对应卷积层。
[0082] 在步骤S204处,可以基于生成的多任务分类模型来确定输入图像中的一个或多个行人。此外,基于生成的多任务分类模型来获取行人检测结果。例如,行人检测结果可以包括行人检测得分、行人属性和场景属性。基于获取的行人检测结果来确定输入图像中的一个或多个行人。
[0083] 多任务分类模型可以被配置成学习检测任务、行人属性任务和场景属性任务。行人检测结果可以包括行人检测得分、行人属性和场景属性。
[0084] 利用本申请的行人检测设备和方法,可以显著减少困难负样本的数量。此外,可以同时预测行人属性和背景场景属性。通过使用单个TA-CNN从多个源中训练多个任务,可以桥接多个数据源的可见差距,同时可以增强属性多样性。可以从现有场景数据源中变换场景属性,而无需手动标注。
[0085] 尽管已描述了本发明的优选示例,但在了解本发明基本概念后,本领域的技术人员可以对这些示例进行变化或更改。所附权利要求书意图包括落入本发明的范围内的优选示例和所有变化或更改。
[0086] 显然,在不脱离本发明的精神和范围的情况下,本领域的技术人员可以对本发明进行变化或更改。因此,如果这些变化或更改属于权利要求书和等效技术的范围,那么它们也可以落入本发明的范围内。