目标检测方法及设备转让专利

申请号 : CN202111023323.9

文献号 : CN113469146B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周波段炼苗瑞

申请人 : 深圳市海清视讯科技有限公司

摘要 :

本公开提供一种目标检测方法及设备。该方法包括:确定待检测图像;通过多路自编码神经网络对待检测图像进行目标检测,得到目标检测结果,多路编码器包括分路编码器和分路解码器,其中,分路编码器和分路解码器中的至少一种的数量为多个。从而,通过包含多路编码器和/或多路解码器的多路自编码神经网络这一网络结构,提高了对图像进行目标检测的准确性。

权利要求 :

1.一种目标检测方法,其特征在于,包括:确定待检测图像;

通过多路自编码神经网络对所述待检测图像进行目标检测,得到目标检测结果,所述多路自编码神经网络包括多个分路编码器和多个分路解码器,所述多个分路编码器之间是并列的,所述多个分路解码器之间是并列的;

所述多路自编码神经网络中还包括共享编码模块和共享解码模块,所述共享编码模块位于所述多路自编码网络的输入层与所述多个分路编码器之间,所述共享解码模块位于所述多个分路解码器之后。

2.根据权利要求1所述的目标检测方法,其特征在于,所述通过多路自编码神经网络对所述待检测图像进行目标检测,得到目标检测结果,包括:通过所述多路自编码神经网络中各所述分路编码器对所述待检测图像进行特征编码,得到各所述分路编码器输出的图像特征;

通过所述多路自编码神经网络中各所述分路解码器对来自所述分路编码器的图像特征进行特征解码,得到各所述分路解码器输出的图像特征;

根据各所述分路解码器输出的图像特征,确定所述目标检测结果。

3.根据权利要求2所述的目标检测方法,其特征在于,所述分路编码器的数量与所述分路解码器的数量相同,所述分路编码器与所述分路解码器一一对应;

所述通过所述多路自编码神经网络中各所述分路解码器对来自所述分路编码器的图像特征进行特征解码,得到各所述分路解码器输出的图像特征,包括:针对所述多路自编码神经网络中各所述分路解码器,通过所述分路解码器对来自对应的分路编码器的图像特征进行特征解码,得到所述分路解码器输出的图像特征。

4.根据权利要求2所述的目标检测方法,其特征在于,所述分路编码器的数量与所述分路解码器的数量不同,单个所述分路解码器对应至少一个所述分路编码器;

所述通过所述多路自编码神经网络中各所述分路解码器对来自所述分路编码器的图像特征进行特征解码,得到各所述分路解码器输出的图像特征,包括:针对所述多路自编码神经网络中各所述分路解码器,通过所述分路解码器对来自对应的至少一个分路编码器的图像特征进行特征解码,得到所述分路解码器输出的图像特征。

5.根据权利要求2所述的目标检测方法,其特征在于,所述分路编码器包括多个串联的编码模块,所述分路解码器包括多个串联的解码模块;

所述通过所述多路自编码神经网络中各所述分路编码器对所述待检测图像进行特征编码,得到各所述分路编码器输出的图像特征,包括:针对所述多路自编码神经网络中各所述分路编码器,依次通过所述分路编码器中的多个编码模块对所述待检测图像进行特征编码,得到所述分路编码器中最后一个编码模块输出的图像特征;

所述通过所述多路自编码神经网络中各所述分路解码器对来自所述分路编码器的图像特征进行特征解码,得到各所述分路解码器输出的图像特征,包括:针对所述多路自编码神经网络中各所述分路解码器,依次通过所述分路解码器中的多个解码模块对来自所述分路编码器的图像特征进行特征解码,得到所述分路解码器中最后一个解码模块输出的图像特征。

6.根据权利要求5所述的目标检测方法,其特征在于,所述编码模块包括卷积层和子编码模块,所述子编码模块至少包括激活函数;和/或,所述解码模块包括反卷积层和子解码模块,所述子解码模块至少包括激活函数。

7.根据权利要求1‑6中任一项所述的目标检测方法,其特征在于,不同的所述分路编码器的网络结构不同,不同的所述分路解码器的网络结构不同。

8.根据权利要求1‑6中任一项所述的目标检测方法,其特征在于,不同的所述分路编码器采用的激活函数不同,不同的所述分路解码器采用的激活函数不同。

9.根据权利要求1‑6中任一项所述的目标检测方法,其特征在于,所述目标检测为人头检测,所述通过多路自编码神经网络对所述待检测图像进行目标检测,得到目标检测结果,包括:

通过所述多路自编码神经网络对所述待检测图像进行人头检测,得到置信度响应图,所述置信度响应图中的像素值反映所述待检测图像中的人头区域。

10.根据权利要求1‑6中任一项所述的目标检测方法,其特征在于,所述目标检测为人头检测,所述确定待检测图像,包括:获取深度相机拍摄的场景图像,所述场景图像为车内场景中的深度图像;

根据所述场景图像,得到所述待检测图像。

11.根据权利要求10所述的目标检测方法,其特征在于,所述深度相机包括面阵式激光器,所述面阵式激光器包括面阵式的激光发射器和面阵式的激光接收器,所述深度相机基于所述激光发射器所发射的激光与所述激光接收器所接收的激光之间的相位差生成深度图像。

12.根据权利要求10所述的目标检测方法,其特征在于,在车顶上分布有多个所述深度相机,不同的深度相机的拍摄区域不同。

13.一种目标检测设备,其特征在于,包括:确定模块,用于确定待检测图像;

检测模块,用于通过多路自编码神经网络对所述待检测图像进行目标检测,得到目标检测结果,所述多路自编码神经网络包括多个分路编码器和多个分路解码器,所述多个分路编码器之间是并列的,所述多个分路解码器之间是并列的;

所述多路自编码神经网络中还包括共享编码模块和共享解码模块,所述共享编码模块位于所述多路自编码网络的输入层与所述多个分路编码器之间,所述共享解码模块位于所述多个分路解码器之后。

14.一种电子设备,其特征在于,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1‑12中任一项所述的目标检测方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1‑12中任一项所述的目标检测方法。

16.一种计算机程序产品,其特征在于,所述计算机程序产品包含计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1‑12中任一项所述的目标检测方法。

说明书 :

目标检测方法及设备

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及一种目标检测方法及设备。

背景技术

[0002] 随着人工智能领域中计算机视觉(Computer Vision,CV)、机器学习等多种技术的逐渐兴起和进步,摄像机和图像处理设备能够代替人眼,更高效率地对目标进行检测、识
别、跟踪、计数等。其中,目标检测是目标识别、跟踪、计数的基本任务。
[0003] 目标检测需要在图像中找到目标所在的位置。目前,可以通过卷积神经网络(Convolutional Neural Networks, CNN)进行目标检测,还可以利用处于运动状态的目标
与图像背景的差值,在图像中区分出目标。然而,目标检测的场景较为复杂,例如,不同目标
之间的相互遮挡、场景光线变化、目标运动或静止,影响了检测准确性。
[0004] 因此,目标检测的准确性有待提高。

发明内容

[0005] 本公开提供一种目标检测方法及设备,用以解决目标检测的准确性不高的问题。
[0006] 第一方面,本公开提供一种目标检测方法,包括:
[0007] 确定待检测图像;
[0008] 通过多路自编码神经网络对所述待检测图像进行目标检测,得到目标检测结果,所述多路自编码神经网络包括分路编码器和分路解码器,其中,所述分路编码器和所述分
路解码器中至少一种的数量为多个。
[0009] 第二方面,本公开提供一种目标检测设备,包括:
[0010] 确定模块,用于确定待检测图像;
[0011] 检测模块,用于通过多路自编码神经网络对所述待检测图像进行目标检测,得到目标检测结果,所述多路自编码神经网络包括分路编码器和分路解码器,其中,所述分路解
码器和所述分路解码器中至少一种的数量为多个。
[0012] 第三方面,本公开提供一种电子设备,包括:至少一个处理器和存储器;
[0013] 所述存储器存储计算机执行指令;
[0014] 所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述第一方面及第一方面各种可能的设计所述的目标检测方法。
[0015] 第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上述第一方面及第一
方面各种可能的设计所述的目标检测方法。
[0016] 第五方面,本公开提供一种计算机程序产品,所述计算机程序产品包含计算机执行指令,当处理器执行所述计算机执行指令时,实现如上述第一方面及第一方面各种可能
的设计所述的目标检测方法。
[0017] 本公开提供的目标检测方法及设备,通过多路自编码神经网络对待检测图像进行目标检测,得到目标检测结果,其中,多路自编码神经网络包括分路编码器和分路解码器,
分路编码器和分路解码器中至少一种的数量为多个。从而,基于多路自编码神经网络中多
个分路编码器和/或多个分路解码器这一网络结构,提高了目标检测过程中神经网络学习
图像特征的丰富性、准确性,进而提高了图像中时目标检测的准确性。

附图说明

[0018] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0019] 图1为本公开实施例适用的图像处理系统的架构示意图;
[0020] 图2是本公开的一实施例提供的目标检测方法的流程示意图;
[0021] 图3是本公开的另一实施例提供的目标检测方法的流程示意图;
[0022] 图4为本公开实施例提供的多路自编码神经网络的结构示意图;
[0023] 图5为本公开实施例提供的双路自编码神经网络的结构示意图;
[0024] 图6为图5中分路编码器A中的编码模块Ai的结构示例图;
[0025] 图7为图5中分路编码器B中的编码模块Bi的结构示例图;
[0026] 图8为图6中编码模块Ai的子编码模块subA1、subA2的结构示例图;
[0027] 图9为图7中编码模块Bi的子编码模块subB1、subB2的结构示例图;
[0028] 图10为图5中分路解码器A中的解码模块Ai的结构示例图;
[0029] 图11为图5中分路解码器B中的解码模块Bi的结构示例图;
[0030] 图12为图10中解码模块Ai的子解码模块desubA1、desubA2的结构示例图;
[0031] 图13为图11中解码模块Bi的子解码模块desubB1、desubB2的结构示例图;
[0032] 图14为本公开实施例提供的深度相机的爆炸图;
[0033] 图15为本公开的一实施例提供的目标检测设备的结构示意图;
[0034] 图16为本公开的一实施例提供的一种电子设备的结构示意图;
[0035] 图17为本公开的一实施例提供的目标检测装置1700的框图。
[0036] 通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为
本领域技术人员说明本公开的概念。

具体实施方式

[0037] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0038] 首先对本公开实施例所涉及的名词进行解释:
[0039] 自编码神经网络:一种无监督学习的神经网络,其网络结构中包括编码器和解码器;
[0040] 多路自编码神经网络:本公开实施例设计的一种自编码神经网络,多路是指自编码神经网络中的多路编码器(多个并列的编码器)和/或多路解码器(多个并列的解码器);
[0041] 分路编码器:即编码器,考虑到多路自编码神经网络中可能包含多个并列的编码器,在本公开实施例中,将多路自编码神经网络中的编码器称为分路编码器;
[0042] 分路解码器:即解码器,考虑到多路自编码神经网络中可能包含多个并列的解码器,在本公开实施例中,将多路自编码神经网络中的解码器称为分路解码器;
[0043] 目标检测:检测出现在图像中的目标,目标可以为如下至少一种:人、物体,物体例如车辆、动物、植物;其中,目标检测是目标识别、目标跟踪、目标技术的基本任务。
[0044] 参考图1,图1为本公开实施例适用的图像处理系统的架构示意图。如图1所示,该图像处理系统包括:图像采集设备101以及图像处理设备102,两者例如通过网络进行通信。
图像采集设备101将拍摄的图像发送至图像处理设备102,图像处理设备102对来自图像采
集设备101的图像进行目标检测。
[0045] 其中,图像采集设备101例如可以为摄像头或者带有摄像头的终端(例如,手机、平板电脑、计算机、智能可穿戴设备),图像处理设备102可以为具有图像处理能力的终端(例
如,手机、平板电脑、计算机、智能可穿戴设备)或者服务器(单个服务器或者服务器群)。图1
以图像采集设备101为摄像头、以图像处理设备102为服务器为例。
[0046] 本公开具体的应用场景为目标检测场景,例如,车辆检测场景、人体检测场景,人体检测场景又如人员计数场景。
[0047] 以人员计数为例,通常的,人员计数的一种方式是,通过人工+手持终端的方式进行人工的拉网式排查,乘务人员通过手持终端检测每个坐席上乘客的身份、车次信息,该方
式费时费力,且乘客位置移动后容易出现漏检;人员计数的另一种方式是,利用可见光的当
前帧图像和参考帧图像之间的数据差异来识别目标,该方式在一些光照均匀、人群不断移
动的闸口通道的检测准确性较好,但在光照变化较大、人员大多静止的车厢场景的检测准
确性较低;人员计数的又一种方式是,利用卷积乘积网络进行目标检测,然而,该方式受复
杂场景下的光照、人头遮挡的影响,依旧存在人头检测误报、漏检的现象。
[0048] 因此,目标检测的准确性有待提高。
[0049] 本公开实施例提供的目标检测方法及设备,旨在解决现有技术的如上技术问题。本公开实施例提供的目标检测方法中,通过多路自编码神经网络对待检测图像进行目标检
测,利用多路自编码神经网络中的多个分路编码器和/或多个分路解码器这一网络结构,提
高多路自编码神经网络的图像特征处理能力,进而提高了目标检测的准确性。
[0050] 其中,方法和设备是基于同一申请构思的,由于方法和设备解决问题的原理相似,因此方法和设备的实施可以相互参见,重复之处不再赘述。
[0051] 示例性的,本公开实施例提供的目标检测方法可以应用在电子设备,电子设备可以为终端或者服务器。其中,终端可以是个人数字处理(personal digital assistant,简
称PDA)设备、具有无线通信功能的手持设备(例如智能手机、平板电脑)、计算设备(例如个
人电脑(personal computer,简称PC))、车载设备、可穿戴设备(例如智能手表、智能手环)、
以及智能家居设备(例如智能显示设备)等。其中,服务器可以为单个服务器,也可以为服务
器群,服务器群例如集中式服务器、分布式服务器,还可以为云服务器。
[0052] 下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念
或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
[0053] 参考图2,图2是本公开的一实施例提供的目标检测方法的流程示意图。如图2所示,目标检测方法包括:
[0054] S201、确定待检测图像。
[0055] 其中,待检测图像的数量可以为一个或多个,待检测图像为目标所在的场景图像。例如,目标为人时,待检测图像可以为一些场景的监控图像,例如,车厢内的监控图像。
[0056] 本步骤中,可获取摄像设备采集的图像或视频,在采集的图像或视频中确定待检测图像。或者,可接收用户输入的图像或视频,在用户输入的图像或视频中确定待检测图
像。或者,可从存储有图像和/或视频的数据库中,读取待检测图像。
[0057] S202、通过多路自编码神经网络对待检测图像进行目标检测,得到目标检测结果。
[0058] 其中,多路自编码神经网络包括分路编码器和分路解码器,分路编码器和分路解码器中至少一种的数量为多个。具体的,多路自编码神经网络可包括多个分路编码器和一
个分路解码器;或者,多路自编码神经网络可包括一个分路编码器和多个分路解码器;或
者,多路自编码神经网络可包括多个分路编码器和多个分路解码器。
[0059] 其中,多路自编码神经网络包括多个分路编码器时,多个分路编码器之间是并列的,换句话说,多个分路编码器是相互独立的,互不干扰地进行特征编码。多路自编码神经
网络包括多个分路解码器时,多个分路解码器之间是并列的,换句话说,多个分路解码器是
相互独立的,互不干扰地进行特征解码。如此,通过在多路自编码神经网络中设置多个分路
编码器和/或多个分路解码器的方式,学习待检测图像上不同尺度、不同方面的与目标有关
的图像特征,提高了与目标有关的图像特征的丰富性,进而提高了多路自编码神经网络的
模型精度、泛化能力和鲁棒性,提高了目标检测的准确性。
[0060] 本步骤中,除分路编码器和分路解码器外,多路自编码网络还包括输入层和输出层。在确定待检测图像后,可先对待检测图像进行预处理,再将预处理后的待检测图像输入
多路自编码神经网络的输入层。接着,在多路自编码神经网络中,通过分路编码器对待检测
图像进行特征编码,再通过分路解码器对待检测图像进行特征解码,结合一个或多个分路
解码器解码后的特征,由输出层输出最终的目标检测结果。
[0061] 其中,目标检测结果为标记出待检测图像中目标所在图像区域的图像,从而,可以从目标检测结果中直观地掌握和观察到待检测图像中目标的分布。在目标计数任务中,还
可以基于目标检测结果进行目标计数,以提高目标计数的准确性。
[0062] 其中,在利用多路自编码神经网络对待检测图像进行目标检测之前,可基于训练数据,对多路自编码神经网络进行训练,训练方式可以为无监督训练。多路自编码神经网络
的训练过程与利用多路自编码神经网络对待检测图像进行目标检测的过程,可以在同一设
备上进行,也可以在不同的设备上进行。在此,对多路自编码神经网络的训练不做限定。
[0063] 本公开实施例提供的目标检测方法中,基于多路自编码神经网络对图像进行目标检测,利用多路自编码神经网络中的多个分路编码器或者多个分路解码器这一网络结构,
提高了多路自编码神经网络学习到的与目标相关的图像特征的丰富性,进而,提高了多路
自编码神经网络的模型精度、泛化能力和鲁棒性,提高了基于多路自编码神经网络进行目
标检测的检测准确性,有效减少目标漏检、误检情况的发生。尤其地,该目标检测方法不依
赖于运动侦测,即无需利用处于运动状态的目标与图像背景的差值来区分出图像中的目
标,可以有效地适应于静态场景下的目标检测,提高静态场景下的目标检测准确性。
[0064] 在一些实施例中,待检测图像可以为RGB图像、近红外图像或者深度图像。从而,利用多路自编码神经网络可以对多类图像进行目标检测,提高了目标检测的适应范围。
[0065] 当待检测图像为RGB图像或者近红外图像时,对待检测图像进行预处理包括:将RGB图像或者近红外图像转换为单通道的灰度图;接着,对灰度图进行归一化处理;对归一
化处理后的灰度图进行尺寸调整,使其满足多路自编码神经网络要求的输入图像尺寸。其
中,对灰度图进行归一化处理例如将灰度图上的各像素值除以255。
[0066] 当待检测图像为深度图时,对待检测图像进行预处理包括:对深度图像进行归一化处理,使得深度图像上的像素值转换为取值在0 1之间的浮点值;对归一化处理后的深度
~
图像进行尺寸调整,使其满足多路自编码神经网络要求的输入图像尺寸。其中,对深度图像
进行归一化处理例如将深度图像上的各个像素值除以待检测图像上的最大像素值。
[0067] 在一些实施例中,目标检测结果为置信响应图,置信响应图中的像素值反映待检测图像中目标所在图像区域,即置信响应图中的置信区域为待检测图像中目标所在图像区
域,从而,通过多路自编码神经网络检测得到待检测图像中目标的置信响应图,得到目标在
待检测图像中所在的图像区域,完成目标检测任务。
[0068] 在一些实施例中,在分路编码器的数量为多个时,不同分路编码器的网络结构不同;在分路解码器的数量为多个时,不同分路解码器的网络结构不同。从而,通过不同网络
结构的分路编码器和/或不同网络结构的分路解码器,学习待检测图像中与目标相关的不
同特征,提高特征提取的丰富性。其中,与目标相关的不同特征包括待检测图像中与目标相
关的不同尺度的特征和/或不同方面的特征。
[0069] 在一些实施例中,分路编码器和分路解码器中均包含激活函数。在分路编码器的数量为多个时,不同分路编码器采用的激活函数不同;在分路解码器的数量为多个时,不同
分路解码器采用的激活函数不同。从而,通过在不同的分路编码器中设置不同的激活函数
的方式,为不同的分路编码器引入不同的非线性因素,和/或,通过在不同的分路解码器中
设置不同的激活函数的方式,为不同的分路解码器引入不同的非线性因素,进而,使得不同
的分路编码器和/或不同的分路解码器可以学习待检测图像中与目标有关的不同特征。
[0070] 后续,基于前述实施例,以多路自编码神经网络包括多个分路编码器和多个分路解码器这种情况作为示例,提供目标检测方法的多个实施例。
[0071] 参考图3,图3是本公开的另一实施例提供的目标检测方法的流程示意图。如图3所示,目标检测方法包括:
[0072] S301、确定待检测图像。
[0073] 其中,S301的实现原理和技术效果可参照前述实施例,不再赘述。
[0074] S302、通过多路自编码神经网络中各分路编码器对待检测图像进行特征编码,得到各分路编码器输出的图像特征。
[0075] 本步骤中,在确定待检测图像后,对待检测图像进行预处理,预处理过程可参照前述实施例的描述,不再赘述。将预处理后的待检测图像输入至多路自编码神经网络的输入
层,直接或者经过一个或多个网络层处理后,分别输入各分路编码器进行特征编码,得到各
分路编码器输出的图像特征。参考图4,图4为本公开实施例提供的多路自编码神经网络的
结构示意图,如图4所示,待处理图像输入多路自编码神经网络的输入层后,经过0个或多个
网络层后,分别进入N个分路编码器中进行特征编码,其中,N大于1。
[0076] S303、通过多路自编码神经网络中各分路解码器对来自分路编码器的图像特征进行特征解码,得到各分路解码器输出的图像特征。
[0077] 本步骤中,在多路自编码神经网络中,在得到各个分路编码器输出的图像特征后,针对各个分路编码器,可将分路编码器输出的图像特征输入一个或多个分路解码器,以对
图像特征进行解码。换句话说,针对各分路解码器,分路解码器对来自一个或多个分路编码
器的图像特征进行编码处理。如此,得到各分路编码器输出的图像特征。
[0078] 在一些实施例中,在多路自编码神经网络中分路编码器的数量与分路解码器的数量相同,分路编码器与分路解码器一一对应。此时,S303的一种可能的实现方式包括:针对
多路自编码神经网络中的各分路编码器,通过分路编码器对来自对应的分路编码器的图像
特征进行特征解码,得到分路解码器输出的图像特征。如图4所示,在多路自编码神经网络
中,N个分路编码器和N个分路解码器一一对应连接,第i个分路编码器输出的图像特征为第
i个分路解码器的输入,其中,i的取值范围为1 N。N个分路解码器输出的图像特征再经过0
~
个或多个网络层后由输出层输出目标检测结果。从而,可以通过任意N路编解码的组合方式
得到的多路自编码神经网络,提高提取特征的丰富性,提高目标检测的准确性。
[0079] 可选的,N等于2,此时,多路自编码神经网络为双路自编码神经网络,在保留多路编码器和解码器的特点的同时,避免编码神经网络的规模过大。参考图5,图5为本公开实施
例提供的双路自编码神经网络的结构示意图,如图5所示,多路自编码神经网络包括2个分
路编码器(图5中的分路编码器A和分路编码器B)和2个分路解码器(图5中的分路解码器A和
分路解码器B),且分路编码器与分路解码器一一对应连接(在图5中,分路编码器A输出的图
像特征为分路解码器A的输入,分路编码器B输出的图像特征为分路解码器B的输入)。
[0080] 在一些实施例中,在多路自编码神经网络中分路编码器的数量与分路解码器的数量不同,单个分路编码器对应至少一个分路解码器。此时,S303的一种可能的实现方式包
括:针对多路自编码神经网络中的各分路编码器,通过分路编码器对来自对应的至少一个
分路编码器的图像特征进行特征解码,得到分路解码器输出的图像特征。其中,在分路编码
器的数量大于分路解码器的数量时,多个分路编码器输出的图像特征可以输入同一个分路
解码器中进行特征解码;在分路编码器的数量小于分路解码器的数量时,同一个分路解码
器输出的图像特征可以输入不同的分路解码器中进行特征解码。从而,可以通过任意X路编
码Y路解码(X不等于Y)的组合方式得到的多路自编码神经网络,提高提取特征的丰富性,提
高目标检测的准确性。
[0081] 在一些实施例中,分路编码器包括多个串联的编码模块,分路解码器包括多个串联的解码模块。此时,S302的一种可能的实现方式包括:针对多路自编码神经网络中各分路
编码器,依次通过分路编码器中的多个编码模块对待检测图像进行特征编码,得到分路编
码器中最后一个编码模块输出的图像特征。S303的一种可能的实现方式包括:针对多路自
编码神经网络中各分路解码器,依次通过分路解码器中的多个解码模块对来自分路编码器
的图像特征进行特征解码,得到分路解码器中最后一个解码模块输出的图像特征。从而,通
过网络结构模块化的方式,提高分路编码器和分路解码器的结构灵活性,可以为分路编码
器设计相同或不同的编码模块,为分路解码器设置相同或不同的解码模块,尤其地,能够适
应于不同的应用场景设计不同的编码模块、不同的解码模块,例如,用于车厢环境中人头检
测的编码模块、解码模块与用于教室场景中人头检测的编码模块、解码模块不同。
[0082] 示例性的,如图5所示(其中,图5以各个分路编码器分别包括5个编码模块、各个分路解码器分别包括5个解码模块为例),在双路自编码神经网络中,分路编码器A包括编码模
块A1 A5,分路编码器B包括编码模块B1 B5,分路解码器A包括解码模块A1 A5,分路解码器B
~ ~ ~
包括解码模块B1 B5。其中,分路编码器A中的各编码模块可相同或不同,分路编码器B中的
~
各编码模块可相同或不同,分路解码器A中的各解码模块可相同或不同,分路解码器B中的
各解码模块可相同或不同。
[0083] 在一些实施例中,在各分路编码器中,编码模块包括卷积层和子编码模块。和/或,在各分路解码器中,解码模块包括反卷积层和子解码模块。
[0084] 从而,一方面,在编码模块中通过卷积层和子编码模块实现编码功能的同时,通过子编码模块提高编码模块结构的灵活性,编码模块结构的灵活性包括:可在编码模块中设
置一个或多个子编码模块,可为不同的编码模块设置相同或不同的子编码模块。另一方面,
在解码模块中通过反卷积层和子解码模块实现解码功能的同时,通过子解码模块提高解码
模块结构的灵活性,解码模块结构的灵活性包括:可在解码模块中设置一个或多个子解码
模块,可为不同的解码模块设置相同或不同的子解码模块。
[0085] (1)编码模块有以下几种可选的网络结构:
[0086] 可选的,除卷积层和子编码模块之外,编码模块还可包括批量规范化(Batch Normalization,BN)网络层,可用于加快多路自编码神经网络的训练和收敛速度,防止梯度
爆炸和梯度消息,防止过拟合,提高多路自编码神经网络的目标检测准确性。
[0087] 可选的,在编码模块中,卷积层和BN网络层的数量为多个。在编码模块中,可先通过卷积层,对输入的图像特征进行卷积处理;接着,通过BN网络层,对卷积层输出的图像特
征进行批量规范化处理;接着,将批量规范化处理后的图像特征输入子编码模块,进行特征
编码;再将编码后的图像特征依次输入下一个卷积层和下一个BN网络层进行处理。最后,可
将该BN网络层输出的图像特征中的各像素值与上一BN网络层输出的图像特征中的各像素
值进行一一相加,得到编码模块输出的图像特征。
[0088] 参考图6,图6为图5中分路编码器A中的编码模块Ai的结构示例图。在图6的结构一中,编码模块Ai依次包括conv(3*3,s=2)、BN网络层、K * subA1、conv(3*3,s=1)、BN网络层、
add层。
[0089] 参考图7,图7为图5中分路编码器B中的编码模块Bi的结构示例图。在图7的结构一中,编码模块Bi依次包括conv(3*3,s=2)、BN网络层、K * subB1、conv(3*3,s=1)、BN网络层、
add层。
[0090] 其中,i的取值范围为{1,2,3,4,5},conv表示卷积层,3*3表示卷积核的尺寸,s表示单位像素占用字节数,subA1和subB1表示子编码模块,k表示编码模块Ai可堆叠k个
subA1、编码模块Bi中可堆叠k个subB1,k大于或等于1,add层表示将两个BN网络层输出的图
像特征按像素相加。
[0091] 可选的,编码模块中的卷积层包括深度卷积层(Depthwise Convolution,DWconv)和点态卷积层(Pointwise Convolution,PWconv)。在编码模块中,DWconv将图像特征按照
通道进行卷积,PWconv将图像特征逐点进行卷积。从而,结合DWconv与PWconv,降低卷积运
算的计算量,并提高卷积层所提取的特征的准确性。
[0092] 如图6所示,在图6的结构二中,编码模块Ai依次包括DWconv(3*3,s=2)、PWconv(3*3,s=2)、BN网络层、K * subA2、DWconv(3*3,s=1)、PWconv(3*3,s=1)、BN网络层、add层。可
见,相对于图6中的结构一,结构二将结构一中的conv替换为DWconv+PWconv。
[0093] 如图7所示,在图7的结构二中,编码模块Bi依次包括DWconv(3*3,s=2)、PWconv(3*3,s=2)、BN网络层、K * subB2、DWconv(3*3,s=1)、PWconv(3*3,s=1)、BN网络层、add层。可
见,相对于图7中的结构一,结构二将结构一中的conv替换为DWconv+PWconv。
[0094] 其中,subA2和subB2表示子编码模块,subA1、subA2、subB1、subB2可以相同也可以不同,k表示编码模块Ai中可堆叠k个subA2、编码模块Bi中可堆叠k个subB2。
[0095] 其中,图5中的分路编码器A中的编码模块A1 A5可以采用图6中的结构一和/或结~
构二,例如,编码模块A1采用结构一,编码模块A2采用结构二,或者,编码模块A1和编码模块
A2都采用结构一或者都采用结构二。同样的,图5中的分路编码器B中的编码模块B1 B5可以
~
采用图7中的结构一和/或结构二。
[0096] (2)子编码模块有以下几种可选的网络结构:
[0097] 可选的,子编码模块至少包括激活函数。此时,可通过为不同的分路编码器中编码模块内的子编码模块设置不同的激活函数,使得不同的分路编码器学习待检测图像上与目
标相关的不同图像特征,提高多路自编码神经网络提取图像特征的丰富性。
[0098] 例如,图6中subA1、subA2的激活函数与图7中subB1、subB2的激活函数不同。
[0099] 可选的,子编码模块中的激活函数可采用swish激活函数、双正切(Tanh)激活函数、线性整流(Rectified Linear Unit, ReLU)激活函数中的一种或多种。
[0100] 可选的,子编码模块还包括卷积层,通过卷积层进行特征编码。
[0101] 可选的,子编码模块还包括BN层,BN层位于子编码模块中的卷积层之后,用于对卷积层输出的图像特征进行批量规范化处理。
[0102] 可选的,子编码模块中的卷积层包括DWconv和PWconv,从而降低卷积运算的计算量,并提高卷积层所提取的特征的准确性。
[0103] 参考图8,图8为图6中编码模块Ai的子编码模块subA1、subA2的结构示例图。如图8所示,subA1中包括conv(3*3,s=1)、BN网络层、swish激活函数,subA2中包括DWconv(3*3,s=
1)、PWconv(3*3,s=1)、BN网络层、swish激活函数。
[0104] 参考图9,图9为图7中编码模块Bi的子编码模块subB1、subB2的结构示例图。如图9所示,subB1中包括conv(3*3,s=1)、BN网络层、Tanh激活函数,subB2中包括DWconv(3*3,s=
1)、PWconv(3*3,s=1)、BN网络层、Tanh激活函数。
[0105] (3)解码模块有以下几种可选的网络结构:
[0106] 可选的,除反卷积层和子解码模块之外,解码模块还可包括BN网络层,可用于加快多路自编码神经网络的训练和收敛速度,防止梯度爆炸和梯度消息,防止过拟合,提高多路
自编码神经网络的目标检测准确性。
[0107] 可选的,解码模块中还包括卷积层,且BN网络层的数量为多个。在解码模块中,可先通过反卷积层,对输入的图像特征进行反卷积处理,也即进行特征解码处理,或者说进行
上采样;接着,通过BN网络层,对卷积层输出的图像特征进行批量规范化处理;接着,将批量
规范化处理后的图像特征输入子解码模块,继续进行特征解码;再将解码后的图像特征依
次输入卷积层和下一个BN网络层进行处理。最后,可将该BN网络层输出的图像特征中的各
像素值与上一BN网络层输出的图像特征中的各像素值进行一一相加,得到编码模块输出的
图像特征。
[0108] 参考图10,图10为图5中分路解码器A中的解码模块Ai的结构示例图。在图10的结构一中,解码模块Ai依次包括deconv(3*3,s=2)、BN网络层、K * desubA1、conv(3*3,s=1)、
BN网络层、add层。
[0109] 参考图11,图11为图5中分路解码器B中的解码模块Bi的结构示例图。在图11的结构一中,解码模块Bi依次包括deconv(3*3,s=2)、BN网络层、K * desubB1、conv(3*3,s=1)、
BN网络层、add层。
[0110] 其中,i的取值范围为{1,2,3,4,5},deconv表示反卷积层,desubA1和desubB1表示子解码模块,k表示解码模块Ai可堆叠k个desubA1、解码模块Bi中可堆叠k个desubB1,k大于
或等于1,add层表示将两个BN网络层输出的图像特征按像素相加。
[0111] 可选的,解码模块中的反卷积层包括DWconv和PWconv。在解码模块中,DWconv将图像特征按照通道进行反卷积,PWconv将图像特征逐点进行反卷积,从而,结合DWconv与
PWconv,降低反卷积运算的计算量,并提高反卷积层所提取的特征的准确性。
[0112] 如图10所示,在图10的结构二中,解码模块Ai依次包括DWconv(3*3,s=2)、PWconv(3*3,s=2)、BN网络层、K * desubA2、DWconv(3*3,s=1)、PWconv(3*3,s=1)、BN网络层、add
层。可见,在图10中,结构二将结构一中的deconv和conv均替换为DWconv+PWconv。
[0113] 如图11所示,在图11的结构二中,解码模块Bi依次包括DWconv(3*3,s=2)、PWconv(3*3,s=2)、BN网络层、K * desubB2、DWconv(3*3,s=1)、PWconv(3*3,s=1)、BN网络层、add
层。可见,在图11中,结构二将结构一中的deconv均替换为DWconv+PWconv。
[0114] 其中,desubA2和desubB2表示子解码模块,desubA1、desubA2、desubB1、desubB2可以相同也可以不同,k表示解码模块Ai中可堆叠k个desubA2、解码模块Bi中可堆叠k个
subB2。其中,图5中的分路解码器A中的解码模块A1 A5可以采用图10中的结构一和/或结构
~
二,例如,解码模块A1采用结构一,解码模块A2采用结构二,或者,解码模块A1和解码模块A2
都采用结构一或者都采用结构二。同样的,图5中的分路解码器B中的解码模块B1 B5可以采
~
用图11中的结构一和/或结构二。
[0115] (2)子解码模块有以下几种可选的网络结构:
[0116] 可选的,子解码模块至少包括激活函数。此时,可通过为不同的分路解码器中解码模块内的子解码模块设置不同的激活函数,使得不同的分路解码器学习待检测图像上与目
标相关的不同图像特征,提高多路自编码神经网络提取图像特征的丰富性。例如,图10中
desubA1、desubA2的激活函数与图11中desubB1、desubB2的激活函数不同。
[0117] 可选的,子解码模块中的激活函数可采用swish激活函数、Tanh激活函数、ReLU激活函数中的一种或多种。
[0118] 可选的,子解码模块还包括卷积层,通过卷积层进行特征解码。
[0119] 可选的,子解码模块还包括BN层,BN层位于子解码模块中的卷积层之后,用于对卷积层输出的图像特征进行批量规范化处理。
[0120] 可选的,子编码模块中的卷积层包括DWconv和PWconv,从而降低卷积运算的计算量,并提高卷积层所提取的特征的准确性。
[0121] 参考图12,图12为图10中解码模块Ai的子解码模块desubA1、desubA2的结构示例图。如图12所示,desubA1中包括conv(3*3,s=1)、BN网络层、Tanh激活函数,desubA2中包括
DWconv(3*3,s=1)、PWconv(3*3,s=1)、BN网络层、Tanh激活函数。
[0122] 参考图13,图13为图11中解码模块Bi的子解码模块desubB1、desubB2的结构示例图。如图13所示,desubB1中包括conv(3*3,s=1)、BN网络层、Tanh激活函数,desubB2中包括
DWconv(3*3,s=1)、PWconv(3*3,s=1)、BN网络层、Tanh激活函数。
[0123] S304、根据各分路解码器输出的图像特征,确定目标检测结果。
[0124] 本步骤中,可综合各分离解码器输出的图像特征,得到目标检测结果。
[0125] 在一些实施例中,在多路自编码神经网络中,还包括共享编码模块和共享解码模块。其中,共享编码模块位于输入层和多个分路编码器之间,用于对输入层输出的图像特征
进行处理,并将处理后的图像特征分别输出到各个分路编码器中。其中,共享解码模块位于
多个分路解码器之后,用于接收多个分路解码器输出的图像特征,对这些图像特征再进行
统一的特征解码,得到多路自编码神经网络的输出。从而,通过共享编码模块,使得进入各
个分路编码器的图像特征相同,有利于不同分路编码器进一步提取不同的图像特征,通过
共享解码模块,对各个分路编码器输出的图像特征进行汇总,得到基于丰富的图像特征得
到的目标检测结果,提高目标检测结果的准确性。
[0126] 例如,如图5所示,在输入层与分路编码器A、分路编码器B之间连接有共享编码模块,在分路解码器A和分路解码器B之后连接有第一共享解码模块和第二共享解码模块,其
中,第二共享解码模块也是输出层。
[0127] 可选的,共享编码模块依次包括卷积层、BN网络层和激活函数,用于初步的特征编码。进一步的,共享编码模块中的激活函数采用ReLU激活函数。
[0128] 可选的,共享解码模块依次包括反卷积层、BN层和激活函数,用于最后的特征解码。进一步的,第一共享解码模块中的激活函数采用ReLU激活函数,第二共享编码模块中的
激活函数采用sigmoid函数。
[0129] 基于前述任一实施例,可选的,目标检测为人头检测。
[0130] 在一些实施例中,在目标检测为人头检测的情况下,可通过多路自编码神经网络对待检测图像进行人头检测,得到置信度响应图,置信度响应图中的像素值反映待检测图
像中的人头区域。从而,利用多路自编码神经网络,提高人头检测的准确性。
[0131] 在一些实施例中,在目标检测为人头检测的情况下,确定待检测图像的一种可能的实现方式包括:获取深度相机拍摄的场景图像,场景图像为车内场景中的深度图像;根据
深度图像,得到待检测图像。其中,该方式具有以下优点:1)深度相机拍摄得到的深度图像
不受可见光的干扰,有利于提高人头检测的准确性;2)深度图像只包含三维深度数据,有利
于保护车内乘客的隐私;3)基于深度图像和前述多路自编码神经网络,实现车内这一静态
场景(乘客通常坐在座位上)下的人头检测,提高静态场景下的人头检测准确性。
[0132] 参照图14,图14为本公开实施例提供的深度相机的爆炸图。
[0133] 可选的,如图14所示,深度相机包括面阵式激光器5,面阵式激光器5包括面阵式的激光发射器(图中未标出)和面阵式的激光接收器(图中未标出),深度相机基于该激光发射
器发射的激光与该激光接收器接收的激光之间的相位差,计算深度相机到目标的距离,进
而生成深度图像。除面阵式激光器5之外,如图14所示,深度相机还包括固定螺丝1、后盖2、
激光镜头摄像板3、激光散热器4、主机板6、外壳7、玻璃防护板8、窄带滤光器9、复位按钮10。
[0134] 进一步的,采用直接飞行时间(Time of Flight,TOF)或间接TOF,计算摄像机到目标的距离。其中,采用直接TOF计算深度相机到目标的距离的公式为: ;采用
间接TOF计算深度相机到目标的距离的公式为: 。d为深度相机
到目标的距离,c为光速, 为相位变化,f为调制频率,t为激光发射和接收的时间差。
[0135] 可选的,在车内场景中,车顶上分布有多个深度相机,不同的深度相机的拍摄区域不同。从而,在车内场景中可以通过多个深度相机结合前述任一实施例提供的多路自编码
神经网络,提高车内场景中人头检测的效率和准确性,还能够保护车内乘客隐私。
[0136] 图15为本公开的一实施例提供的目标检测设备的结构示意图,如图15所示,该目标检测设备包括:
[0137] 确定模块1501,用于确定待检测图像;
[0138] 检测模块1502,用于通过多路自编码神经网络对待检测图像进行目标检测,得到目标检测结果,多路自编码神经网络包括分路编码器和分路解码器,其中,分路解码器和分
路解码器中至少一种的数量为多个。
[0139] 在一种可能的实现方式中,检测模块1502具体用于:通过多路自编码神经网络中各分路编码器对待检测图像进行特征编码,得到各分路编码器输出的图像特征;通过多路
自编码神经网络中各分路解码器对来自分路编码器的图像特征进行特征解码,得到各分路
解码器输出的图像特征;根据各分路解码器输出的图像特征,确定目标检测结果。
[0140] 在一种可能的实现方式中,分路编码器的数量与分路解码器的数量相同,分路编码器与分路解码器一一对应;检测模块1502具体用于:针对多路自编码神经网络中各分路
解码器,通过分路解码器对来自对应的分路编码器的图像特征进行特征解码,得到分路解
码器输出的图像特征。
[0141] 在一种可能的实现方式中,分路编码器的数量与分路解码器的数量不同,单个分路解码器对应至少一个分路编码器;检测模块1502具体用于:针对多路自编码神经网络中
各分路解码器,通过分路解码器对来自对应的至少一个分路编码器的图像特征进行特征解
码,得到分路解码器输出的图像特征。
[0142] 在一种可能的实现方式中,分路编码器包括多个串联的编码模块,分路解码器包括多个串联的解码模块;检测模块1502具体用于:针对多路自编码神经网络中各分路编码
器,依次通过分路编码器中的多个编码模块对待检测图像进行特征编码,得到分路编码器
中最后一个编码模块输出的图像特征;针对多路自编码神经网络中各分路解码器,依次通
过分路解码器中的多个解码模块对来自分路编码器的图像特征进行特征解码,得到分路解
码器中最后一个解码模块输出的图像特征。
[0143] 在一种可能的实现方式中,编码模块包括卷积层和子编码模块,子编码模块至少包括激活函数;和/或,解码模块包括反卷积层和子解码模块,子解码模块至少包括激活函
数。
[0144] 在一种可能的实现方式中,不同的分路编码器的网络结构不同,不同的分路解码器的网络结构不同。
[0145] 在一种可能的实现方式中,不同的分路编码器采用的激活函数不同,不同的分路解码器采用的激活函数不同。
[0146] 在一种可能的实现方式中,目标检测为人头检测,检测模块1502具体用于:通过多路自编码神经网络对待检测图像进行人头检测,得到置信度响应图,置信度响应图中的像
素值反映待检测图像中的人头区域。
[0147] 在一种可能的实现方式中,目标检测为人头检测,确定模块1501具体用于:获取深度相机拍摄的场景图像,场景图像为车内场景中的深度图像;根据场景图像,得到待检测图
像。
[0148] 在一种可能的实现方式中,深度相机包括面阵式激光器,面阵式激光器包括面阵式的激光发射器和面阵式的激光接收器,深度相机基于激光发射器所发射的激光与激光接
收器所接收的激光之间的相位差生成深度图像。
[0149] 在一种可能的实现方式中,在车顶上分布有多个深度相机,不同的深度相机的拍摄区域不同。
[0150] 图15提供的目标检测设备,可以执行上述相应方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0151] 图16为本公开的一实施例提供的一种电子设备的结构示意图。如图16所示,该电子设备可以包括:处理器1601和存储器1602。存储器1602用于存储计算机执行指令,处理器
1601执行计算机程序时实现如上述任一实施例的方法。
[0152] 上述的处理器1601可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等。上述存储器1602可能包含随机存取存储器(random access memory,
RAM),也可能还包括非易失性存储器(non‑volatile memory),例如至少一个磁盘存储器。
[0153] 本公开的一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述任一实施例的目标检测方
法。
[0154] 本公开的一实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质中读取所述计算机程
序,所述至少一个处理器执行所述计算机程序时可实现上述任一实施例的目标检测方法。
[0155] 图17为本公开的一实施例提供的目标检测装置1700的框图。例如,装置1700可以被提供为一服务器或一终端。参照图17,装置1700包括处理组件1701,其进一步包括一个或
多个处理器,以及由存储器1702所代表的存储器资源,用于存储可由处理组件1701的执行
的指令,例如应用程序。存储器1702中存储的应用程序可以包括一个或一个以上的每一个
对应于一组指令的模块。此外,处理组件1701被配置为执行指令,以执行上述任一实施例的
方法。
[0156] 装置1700还可以包括一个电源组件1703被配置为执行装置1700的电源管理,一个有线或无线网络接口1704被配置为将装置1700连接到网络,和一个输入输出(I/O)接口
1705。装置1700可以操作基于存储在存储器1702的操作系统,例如Windows ServerTM,Mac 
OS XTM,UnixTM, LinuxTM,FreeBSDTM或类似。
[0157] 在本公开实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单
独存在A,同时存在A和B,单独存在B的情况,其中,A,B可以是单数或者复数。字符“/”一般表
示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”
的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或
复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a‑b,a‑c,b‑c,
或a‑b‑c,其中,a,b,c可以是单个,也可以是多个。
[0158] 可以理解的是,在本公开实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本公开实施例的范围。
[0159] 可以理解的是,在本公开的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实
施过程构成任何限定。
[0160] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求书指出。
[0161] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限
制。