目标检测方法、电子设备及存储介质转让专利

申请号 : CN202111477793.2

文献号 : CN113887542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙晖

申请人 : 孙晖

摘要 :

本申请公开了一种目标检测方法、电子设备及计算机可读存储介质。该方法包括:从待处理图像的起始区域开始,使卷积核以预设的步长在待处理图像滑动得到多个待处理区域,待处理图像由多类切片像素组成,多类切片像素在每个待处理区域中的分布情况相同;将其中一类切片像素作为待处理切片像素,并对卷积核与每个待处理区域作矩阵内积乘法,得到每个待处理区域的内积结果;利用所有待处理区域的内积结果得到一张切片图像;修改待处理切片像素的类别,并重复执行上述步骤,直至遍历完每类切片像素,得到多张切片图像;基于多张切片图像,得到待处理图像的目标检测结果。通过上述方式,能够提高目标检测的精度。

权利要求 :

1.一种目标检测方法,其特征在于,包括:从待处理图像的起始区域开始,使卷积核以预设的步长在所述待处理图像滑动得到多个待处理区域,所述待处理图像由多类切片像素组成,多类所述切片像素在每个所述待处理区域中的分布情况相同;

将其中一类所述切片像素作为待处理切片像素,并对所述卷积核与每个所述待处理区域作矩阵内积乘法,得到每个所述待处理区域的内积结果,所述待处理切片像素在所述卷积核中对应的权重为1,非待处理切片像素在所述卷积核中对应的权重为0;

利用所有所述待处理区域的内积结果得到一张切片图像;

修改所述待处理切片像素的类别,并重复执行上述步骤,直至遍历完每类所述切片像素,得到多张所述切片图像;

基于多张所述切片图像,得到所述待处理图像的目标检测结果。

2.根据权利要求1所述的方法,其特征在于,每个所述待处理区域中的同一类所述切片像素的数量为1,所述步长等于所述卷积核的宽度;

所述利用所有所述待处理区域的内积结果得到一张切片图像,包括:针对每个待处理区域,对所述待处理区域的所有所述切片像素的内积结果进行全加计算,得到所述待处理区域的全加计算结果;

对所有所述待处理区域的全加计算结果拼接得到一张所述切片图像。

3.根据权利要求1所述的方法,其特征在于,所述利用所有所述待处理区域的内积结果得到一张切片图像,包括:

对所有所述待处理区域的不同的所述待处理切片像素的内积结果拼接得到一张所述切片图像。

4.根据权利要求1所述的方法,其特征在于,所述修改所述待处理切片像素的类别,包括:

修改所述卷积核中的权重,修改之后的所述卷积核中的权重为1的位置对应的所述切片像素的类别改变。

5.根据权利要求1所述的方法,其特征在于,所述修改所述待处理切片像素的类别,包括:

修改所述起始区域,以改变所述待处理切片像素的类别。

6.根据权利要求1所述的方法,其特征在于,所述基于多张所述切片图像,得到所述待处理图像的目标检测结果,包括:依序利用拼接层、反卷积层、瓶颈层、空间金字塔层对多张所述切片图像进行处理,得到所述待处理图像的第一特征;

提取所述第一特征对应的特征金字塔,所述特征金字塔包括多个不同尺度的第二特征;

对所述多个不同尺度的第二特征进行融合,得到融合结果;

基于所述融合结果得到所述目标检测结果。

7.根据权利要求6所述的方法,其特征在于,所述对所述多个不同尺度的第二特征进行融合,得到融合结果,包括:

按照尺度从小到大的顺序,将当前第二特征与上一次的融合结果进行融合,得到当前次的融合结果。

8.根据权利要求7所述的方法,其特征在于,所述将当前第二特征与前一次的融合结果进行融合,得到当前次的融合结果,包括:将所述上一次的融合结果进行尺度放大,经放大的所述前一次的融合结果与所述当前第二特征的尺度相同;

将所述经放大的上一次的融合结果与所述当前第二特征进行相加,得到所述当前次的融合结果。

9.根据权利要求8所述的方法,其特征在于,所述将所述上一次的融合结果进行尺度放大,包括:

对所述上一次的融合结果进行反卷积操作,得到所述经放大的上一次的融合结果。

10.根据权利要求9所述的方法,其特征在于,所述对所述上一次的融合结果进行反卷积操作,得到所述经放大的上一次的融合结果,包括:对所述上一次的融合结果进行像素扩增;

对经扩增的所述上一次的融合结果进行卷积,得到所述经放大的上一次的融合结果。

11.根据权利要求1所述的方法,其特征在于,所述目标检测结果包括关于目标是否戴安全帽、是否穿反光衣的检测结果;或所述目标检测结果包括关于火灾的检测结果。

12.一种电子设备,其特征在于,包括神经网络处理器、与所述处理器连接的存储器,其中,

所述存储器存储有程序指令;

所述神经网络处理器用于执行所述存储器存储的所述程序指令以实现权利要求1‑8中任一项所述的方法。

13.一种计算机可读存储介质,其特征在于,所述存储介质存储程序指令,所述程序指令被执行时实现如权利要求1‑11中任一项所述的方法。

说明书 :

目标检测方法、电子设备及存储介质

技术领域

[0001] 本申请涉及图像处理技术领域,特别是涉及一种目标检测方法、电子设备及计算机可读存储介质。

背景技术

[0002] 在智能监控领域,目标检测技术起着至关重要的作用。例如,施工场景下,在工地布设摄像头,通过摄像头获取工地现场图像,对图像进行目标检测,以对工地进行安全管
理。又如,交通场景下,在路面布设摄像头,通过摄像头获取路面行车图像,对图像进行目标
检测,以对路面交通进行安全管理。
[0003] 然而,现有的目标检测的方法精度不够高,且处理速度不够快。

发明内容

[0004] 本申请提供一种目标检测方法、电子设备及计算机可读存储介质,能够解决现有的目标检测的方法精度不够高,且处理速度不够快的问题。
[0005] 为解决上述技术问题,本申请采用的一个技术方案是:提供一种目标检测方法。该方法包括:从待处理图像的起始区域开始,使卷积核以预设的步长在待处理图像滑动得到
多个待处理区域,待处理图像由多类切片像素组成,多类切片像素在每个待处理区域中的
分布情况相同;将其中一类切片像素作为待处理切片像素,并对卷积核与每个待处理区域
作矩阵内积乘法,得到每个待处理区域的内积结果,待处理切片像素在所述卷积核中对应
的权重为1;利用所有待处理区域的内积结果得到一张切片图像;修改待处理切片像素的类
别,并重复执行上述步骤,直至遍历完每类切片像素,得到多张切片图像;基于多张切片图
像,得到待处理图像的目标检测结果。
[0006] 为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,该电子设备包括神经网络处理器、与处理器连接的存储器,其中,存储器存储有程序指令;神经
网络处理器用于执行存储器存储的程序指令以实现上述方法。
[0007] 为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,存储有程序指令,该程序指令被执行时能够实现上述方法。
[0008] 通过上述方式,本申请不是直接对待处理图像进行目标检测,而是先将待处理图像切分为多张切片图像,再基于多张切片图像对待处理图像进行目标检测,因此能够得到
更加准确的目标检测结果。另外,由于对待处理图像的切片操作不是基于采样而是基于卷
积,因此本申请提供的目标检测方法适用于NPU的推理框架,从而无需利用CPU的推理框架,
或者无需在CPU和NPU的推荐框架之间进行转换,而仅在NPU的推理框架下,就能够实现对待
处理图像的目标检测,提高了目标检测的处理速度。

附图说明

[0009] 图1是本申请目标检测方法一实施例的流程示意图;
[0010] 图2是待处理图像的一示意图;
[0011] 图3是待处理图像的另一示意图;
[0012] 图4是3*3卷积核在待处理图像上滑动的示意图;
[0013] 图5是2*2卷积核在待处理图像上滑动的示意图;
[0014] 图6是图1中S13的具体流程示意图;
[0015] 图7是切片图像的示意图;
[0016] 图8是修改起始区域的示意图;
[0017] 图9是图1中S16的具体流程示意图;
[0018] 图10是路径聚合网络的结构示意图;
[0019] 图11是本申请电子设备一实施例的结构示意图;
[0020] 图12是本申请计算机可读存储介质一实施例的结构示意图。

具体实施方式

[0021] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0022] 本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第
三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至
少两个,例如两个,三个等,除非另有明确具体的限定。
[0023] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和
隐式地理解的是,在不冲突的情况下,本文所描述的实施例可以与其它实施例相结合。
[0024] 可以理解的是,由于摄像头获取到的图像分辨率较高,在对其处理时需要降低其分辨率。而直接通过舍弃图像的部分信息的方式来降低图像分辨率,会影响后续得到的图
像的目标检测结果的精度。
[0025] 为此,本申请实现目标检测的技术思路为:对待处理图像进行切片操作,得到多张切片图像,基于多张切片图像得到待处理图像的目标检测结果。
[0026] 之所以要对待处理图像进行切片操作,是为了在降低待处理图像分辨率的同时不丢失待处理图像的信息。所谓切片操作,是指在待处理图像中每隔一个像素拿到一个像素
值,这样就可以得到待处理图像的4张切片图像。现有的Focus结构中,切片操作的实现方式
为邻近下采样。
[0027] 现有的切片操作是基于CPU的推理框架进行。但是CUP的处理速度较慢。为了提高目标检测的处理速度,本申请基于NPU的推理框架来实现目标检测。但是,NPU(Neural‑
network Processing Unit ,神经网络处理器)的推理框架由于没有采样算子,并不支持现
有的Focus结构(邻近下采样)。为此,本申请为了适应NPU的推理框架,对切片操作的实现方
式作了改进(通过S11 S14实现对待处理图像的切片操作)。
~
[0028] 由于NPU有卷积算子且实现卷积的处理速度快,本申请通过卷积计算来实现对待处理图像的切片操作。卷积计算的步骤分为矩阵内积乘法计算和全加计算。所谓矩阵内积
乘法,就是将待处理区域与卷积核(卷积核尺寸与待处理区域尺寸一致,其中的值为待处理
区域中对应像素的权重)进行对应相乘,得到待处理区域的内积结果;所谓全加计算,就是
将待处理区域中所有像素的内积结果相加,得到卷积计算的结果。
[0029] 本申请通过卷积计算来实现对待处理图像的切片操作的方式可以细分为两种,一种是仅利用卷积核对待处理区域进行矩阵内积乘法计算,另一种是利用卷积核对待处理区
域依次进行矩阵内积乘法计算、全加计算。为方便描述,本申请后文将前者称为半卷积方
式,将后者称为全卷积方式。
[0030] 下面详细介绍本申请提供的目标检测方法:
[0031] 图1是本申请目标检测方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施例可以包括:
[0032] S11:从待处理图像的起始区域开始,使卷积核以预设的步长在待处理图像滑动得到多个待处理区域。
[0033] 待处理图像由多类切片像素组成,多类切片像素在每个待处理区域中的分布情况相同。
[0034] 待处理图像可以是通过摄像头获取到的RGB图像,也可以是对RGB图像进行预处理(尺度缩放、归一化)得到的图像。组成待处理图像的切片像素的类别数量等于后续得到的
切片图像的数量。换句话说,后续得到的一张切片图像由一类切片像素构成。由此,待处理
图像包括的切片像素的类别数量,可以具体根据切片需求来设置。
[0035] 在每张切片图像大小一致,即每张切片图像包括的像素数量一致的情况下,不同类的切片像素在每个待处理区域中的分布情况一致,且每个待处理区域中包含的不同类的
切片像素的数量一致。
[0036] 结合图2‑3对待处理图像举例说明。图2是待处理图像的一示意图,图2所示的待处理图像由“1”、“2”、“3”、“4”、“5”、“6”六类切片像素组成。图3是待处理图像的另一示意图,
图3所示的待处理图像由“1”、“2”、“3”、“4”四类切片像素组成。图2和图3中,每类切片像素
的数量相同,并且同一类的两个切片像素中间相隔其他类的切片像素。对不同切片像素数
量的待处理图像的切片方式,在于卷积核(权重、尺寸)以及卷积核的步长不同,其他处理过
程是类似的。因此为了简化描述,本申请后文以图3所示的待处理图像为基础进行说明。
[0037] 卷积核的尺寸可以表示为x*y(例如3*3、5*5、7*7、2*1),其中x代表卷积核的宽度,即在宽度方向上对应的像素数量,y代表卷积核的高度,即在高度方向上对应的像素数量。
[0038] 卷积核的滑动方向可以是从左到右、从上到下,当然也可以是其他方向。为简化描述,本申请后文仅以滑动方向是从左到右、再从上到下为例进行说明。卷积核每滑动一次,
就会得到一个新的待处理区域。起始区域也可以被称为得到的第一个待处理区域。步长是
指卷积核每次滑动时需要移动的像素数量。在滑动方向确定的情况下,步长取决于切片像
素的类别数量以及待处理区域中不同类别的切片像素的排布方式。
[0039] 在图3的基础上举例说明。在图3所示的四类切片像素呈田字格排布的方式下,步长为2。
[0040] 结合参阅图4,图4是3*3卷积核在待处理图像上滑动的示意图。如图4所示,A11为待处理图像的起始区域。3*3卷积核以步长2、起始区域A11第一次滑动,得到待处理区域
A21,…,依次类推,即可得到9个待处理区域。相邻两个待处理区域部分(一列或者一行)重
叠。每个待处理区域包括2个“1”类切片像素、2个“2”类切片像素、2个“3”类切片像素和2个
“4”类切片像素。
[0041] 结合参阅图5,图5是2*2卷积核在待处理图像上滑动的示意图。如图5所示,B1为待处理图像的起始区域。2*2卷积核以步长2、起始区域B1第一次滑动,得到待处理区域B2,…,
依次类推,即可得到16个待处理区域。每个待处理区域包括1个“1”类切片像素、1个“2”类切
片像素、1个“3”类切片像素和1个“4”类切片像素。
[0042] S12:将其中一类切片像素作为待处理切片像素,并对卷积核与每个待处理区域作矩阵内积乘法,得到每个待处理区域的内积结果。
[0043] 待处理切片像素在卷积核中对应的权重为1,非待处理切片像素在卷积核中对应的权重为0或者其他值(本申请后文以0为例进行说明)。
[0044] 本步骤可以与S11同步进行。即卷积核在待处理图像上每滑动得到一个新的待处理区域,就与该新的待处理区域作矩阵内积乘法,得到该新的待处理区域的内积结果。本步
骤也可以在S11之后进行。即卷积核已经通过滑动的方式遍历完整张待处理图像,得到多个
待处理区域之后,再分别与每个待处理区域作矩阵内积乘法,得到每个待处理区域的内积
结果。
[0045] 继续结合图4和图5进行说明。若将“1”类切片像素作为待处理切片像素,则图4对应的3*3卷积核为 ,图5对应的2*2卷积核为 。
[0046] S13:利用所有待处理区域的内积结果得到一张切片图像。
[0047] 由于待切片像素在卷积核中对应的权重为1,因此待切片像素的内积结果为待切片像素本身。故,本步骤实质为利用所有待处理区域的待切片像素得到切片图像。
[0048] 在半卷积方式下,可以对所有待处理区域的不同的待处理切片像素的内积结果拼接得到一张切片图像。即,如果相邻的待处理区域存在重复的待处理切片像素(如图4),可
以先去除重复的待处理切片像素的内积结果,将去除后剩余的待处理切片像素的内积结果
拼接,得到一张切片图像。如果相邻的待处理区域不存在重复的待处理切片像素(如图5),
可以直接将所有的待处理切片像素的内积结果拼接,得到一张切片图像。
[0049] 在全卷积方式下,每个待处理区域中的同一类切片像素的数量为1,步长等于卷积核的宽度,非待处理切片像素在卷积核中对应的权重为0(或者1之外的其他值)。在此基础
上,结合参阅图6,S13可以包括以下子步骤:
[0050] S131:针对每个待处理区域,对待处理区域的所有切片像素的内积结果进行全加计算,得到待处理区域的全加计算结果。
[0051] 待处理区域的内积结果包括待处理区域的各个切片像素的内积结果。可以对待处理区域包括的每个切片像素的内积结果进行全加计算。本步骤得到的全加计算结果即为全
卷积方式下卷积核对待处理区域的卷积结果。
[0052] S132:对所有待处理区域的全加计算结果拼接得到一张切片图像。
[0053] 图7为将“1”类切片像素作为待处理切片像素的情况下,得到的切片图像的示意图。
[0054] S14:判断是否遍历完所有类的切片像素。
[0055] 即判断每个类的切片像素是否均被作为过待处理切片像素。
[0056] 若否,则执行S15;若是,则执行S16。
[0057] S15:修改待处理切片像素的类别。
[0058] 本步骤执行之后跳转至S11,以重复执行上述步骤,直至遍历完每类切片像素,得到多张切片图像。
[0059] 例如,当前是将“1”类切片像素作为待处理切片像素,则经修改,将“2”类切片像素作为待处理切片像素。
[0060] 作为一实施例,可以通过修改起始区域,来修改待处理切片像素的类别。修改起始区域之后,卷积核中权重为1的位置在待处理区域对应的切片像素的类别改变。
[0061] 例子1:结合图4和图8进行说明,可以将起始区域从A11修改为A12,从而将待处理切片像素的类别从“1”修改为“2”。或者,可以将起始区域从A11修改为A13,从而将待处理切
片像素的类别从“1”修改为“3”。或者,可以将起始区域从A11修改为A14,从而将待处理切片
像素的类别从“1”修改为“4”。
[0062] 作为另一实施例,可以通过修改卷积核中的权重,来修改待处理切片像素的类别。修改之后的卷积核中权重为1的位置对应的切片像素(待处理切片像素)的类别改变。
[0063] 例子2:结合图5进行说明。可以将2*2卷积核从 修改为 ,从而待处理切片像素的类别从“1”修改为“2”。或者,可以将2*2卷积核从 修改为 ,从而待处理
切片像素的类别从“1”修改为“3”。或者,可以将2*2卷积核从 修改为 ,从而待处
理切片像素的类别从“1”修改为“4”。
[0064] 例子3:结合图4进行说明。可以将3*3卷积核从 修改为 ,从而待处理切片像素的类别从“1”修改为“3”。或者,可以将3*3卷积核从 修改为
,从而待处理切片像素的类别从“1”修改为“2”。或者,可以将3*3卷积核从
修改为 ,从而待处理切片像素的类别从“1”修改为“4”。
[0065] 若通过修改起始区域或者修改卷积核中的权重的方式,依次将待处理切片像素的类别从“1”修改为“2”、“3”和“4”,则S11 S15的实现过程可以为:在待处理切片像素的类别
~
为“1”基础上执行S11 S13,得到一张由“1”构成的切片图像;将待处理切片像素的类别修改
~
为“2”,并在此基础上执行S11 S13,得到一张由“2”构成的切片图像;将待处理切片像素的
~
类别修改为“3”,并在此基础上执行S11 S13,得到一张由“3”构成的切片图像;将待处理切
~
片像素修改为“4”,并在此基础上执行S11 S13,得到一张由“4”构成的切片图像。从而遍历
~
完成四类切片像素,得到了4张切片图像。
[0066] S16:基于多张切片图像,得到待处理图像的目标检测结果。
[0067] 目标检测结果可以用于表示待处理图像对应的现场区域是否存在安全隐患。
[0068] 在交通场景下,目标检测结果可以包括关于目标(车辆、人员)是否导致交通事故的检测结果等等。
[0069] 在施工场景下,目标检测结果可以包括关于目标(人员)是否戴安全帽、是否穿反光衣的检测结果。具体地,目标检测结果包括待处理区域中的人员区域、人员区域的置信
度、人员区域属于各个类别(戴了安全帽、未戴安全帽、穿了反光衣、未穿反光衣)的概率。或
者,目标检测结果可以包括关于车辆进出情况、物资运输情况的检测结果。或者,目标检测
结果可以包括关于火灾的检测结果。具体地,目标检测结果包括火焰区域、火焰区域的置信
度、火焰区域属于各个类别(发生火灾、未发生火灾)的概率。
[0070] 本步骤中,可以提取多张切片图像的第一特征,基于多张切片图像的特征得到待处理图像的目标检测结果。提取多张切片图像的第一特征的方式不受限。
[0071] 结合参阅图9,在一实施例中,S16可以包括以下子步骤:
[0072] S161:依序利用拼接层、反卷积层、瓶颈层、空间金字塔层对多张切片图像进行处理,得到待处理图像的第一特征。
[0073] 拼接层(concat)用于进行拼接处理。反卷积层用于进行反卷积处理。瓶颈层(BottleNeck)包括多个残差单元(resnet unit),每个残差单元(CBL)由卷积层
(convolution)、批量标准化层(batchnom)和渗透激活层(leakyrelu)构成。瓶颈层可以对
反卷积层输出的特征进行编码,提取出对后续检测来说重要的高层特征。空间金字塔层
(SPP,Spatial Pyramid Pooling)可以对瓶颈层输出的特征进行不同尺度的特征提取。
[0074] S161之后,可以直接基于第一特征预测得到目标检测结果。或者,为了提高目标检测结果的精度,可以基于S162 S164得到目标检测结果。
~
[0075] 可以理解的是,现有的路径聚合网络(Path Aggregation Network,PANet)可以对第一特征进行预测得到目标检测结果。路径聚合网络由采用交叉阶段分布式(Cross Stage 
Partial)的瓶颈层、卷积层、上采样层(upsample)和拼接层组成,采用跳跃式(skip)连接方
法。
[0076] 结合图10对路径聚合网络对第一特征处理的过程进行说明。如图9所示,路径聚合网络对第一特征的处理可以分为a d四个阶段。
~
[0077] 将第一特征送入路径聚合网络,路径聚合网络提取第一特征对应的特征金字塔,特征金字塔;对特征金字塔进行融合,得到融合结果;基于融合结果得到目标检测结果。
[0078] 其中,特征金字塔包括多个(图10的a区域所示为4个)不同尺度的第二特征(M1~
M4,尺度大小为M4<M3<M2<M1)。对特征金字塔的融合过程为:对M4进行尺度缩放,经缩放
的M4与M3的尺度相同;将经缩放的M4与M3融合,对经缩放的M4与M3的融合结果进行特征提
取得到P5,P5与M3的尺度一致;对P5进行上采样,经上采样的P5与M3的尺度一致;对经上采
样的P5与M3进行融合;对经上采样的P5与M3的融合结果进行特征提取得到P4;对P4进行上
采样,经上采样的P4与M2的尺度一致;…;以此类推,可以得到P2、P3、P4和P5。
[0079] 在得到P2、P3、P4和P5之后,可以对P2 P5进行自底向上的路径增强(Bottom‑up ~
path augmentation),得到b区域的N2、N3、N4和N5。
[0080] 确定N2、N3、N4和N5中的候选区域(anchor),N2、N3、N4和N5中的候选区域一一对应,但尺度不同。
[0081] 将N2、N3、N4和N5中对应的每个候选区域分别进行融合,得到多个候选区域的融合结果(c区域)。
[0082] 对每个候选区域的融合结果进行预测,得到目标检测结果(d区域),目标检测结果包括每个候选区域相对于目标区域的偏移量、为目标区域的概率以及所属类别的概率,作
为目标检测结果。
[0083] 但是,考虑到本申请提供的方式是基于NPU实现的,而NPU没有采样算子,不支持现有的路径聚合网络(上采样操作)。故本申请为了适应NPU的推理逻辑,对路径聚合网络的预
测过程进行了改进。即,鉴于NPU是支持反卷积操作的,在预测过程中,利用反卷积操作代替
上采样操作。从而得到如下S162 S164。
~
[0084] S162:提取第一特征对应的特征金字塔。
[0085] 特征金字塔包括多个不同尺度的第二特征。
[0086] S163:对多个不同尺度的第二特征进行融合,得到融合结果。
[0087] 可以按照尺度从小到大的顺序,将当前第二特征与上一次的融合结果进行融合,得到当前次的融合结果。具体来说,可以将上一次的融合结果进行尺度放大,经放大的前一
次的融合结果与当前第二特征的尺度相同;将经放大的上一次的融合结果与当前第二特征
进行融合,得到当前次的融合结果。
[0088] 其中,将上一次的融合结果进行尺度放大的方式为,对上一次的融合结果进行反卷积操作,得到经放大的上一次的融合结果。具体来说,可以对上一次的融合结果进行像素
扩增;对经扩增的上一次的融合结果进行卷积操作,得到经放大的上一次的融合结果。
[0089] 其中,扩增即对上一次的融合结果进行像素填充(padding),填充的像素均值可以为0、125等等。扩增的尺度取决于上一次的融合结果与当前第二特征的尺度差异。例如,如
果上一次的融合结果的尺度为当前第二特征的尺度的1/2,那么扩增的尺度为2。对经扩增
的上一次的融合结果进行卷积时,卷积核的步长为0。从而,得到上一次的融合结果的尺度
被放大了,达到了上采样的效果。并且,经过实验测试,该利用反卷积操作代替上采样操作
的方式,在能够达到上采样的效果的同时,不影响处理精度。
[0090] S164:基于融合结果得到目标检测结果。
[0091] S162 S164的实现过程的其他详细描述,请参考前面对路径聚合网络的说明,在此~
不赘述。
[0092] 此外,在通过S16确定待处理图像对应的现场区域有安全隐患时,可以通知相关人员处理。或者,将上述方法作为一次检测,在一次检测确定有安全隐患时,为了避免误检的
情况,可以利用精度更高的算法实现二次检测,在二次检测确定有安全隐患时,才通知相关
人员处理。在一次检测确定没有安全隐患时,为了避免漏检的情况,可以利用精度更高的算
法实现二次检测,在二次检测确定没有安全隐患时,才通知相关人员处理。通知的方式包括
但不限于语音、文字。如果是施工场景,可以通过摄像头的语音播报模块向施工现场播报提
醒消息,以提醒施工现场的人员戴安全帽、穿反光衣,做到规范作业。
[0093] 此外,在通过上述方式实现目标检测之前,需要对目标检测所用的神经网络架构进行训练。在训练过程中,可以采用交叉熵损失函数来对训练进程进行约束。其中,交叉熵
损失函数可以采用归一化的交并比(GIOU,Generalized Intersection over Union)或者
交并比(IOU)进行目标区域的预测结果与真实结果之间的损失计算。
[0094] 可以理解的是,由于IOU=(A∩B)/(A∪B),A表示真实结果,B表示预测结果,IOU具有尺度不变性(即A和B的相似度与空间尺度不相关)和非负性(防止计算时分母为0)。在A和
B无重叠时,IOU为0,次数无法体现A和B之间的距离,无法量化A和B之间的差距,无法基于A、
B对神经网络架构进行优化。
[0095] 由于GIou=Iou‑ ((C)\(A∪B))/C,C表示A和B的最小外接矩形框,故在A和B无重叠的情况下,GIou经过引入C来对A和B无重叠的情况进行量化计算,从而能够基于A、B对神经
网络架构进行优化,提高对神经网络架构的优化效果。
[0096] 通过本实施例的实施,本申请不是直接对待处理图像进行目标检测,而是先将待处理图像切分为多张切片图像,再基于多张切片图像对待处理图像进行目标检测,因此能
够得到更加准确的目标检测结果。另外,由于对待处理图像的切片操作不是基于采样而是
基于卷积,因此本申请提供的目标检测方法适用于NPU的推理框架,从而无需利用CPU的推
理框架,或者无需在CPU和NPU的推荐框架之间进行转换,而仅在NPU的推理框架下,就能够
实现对待处理图像的目标检测,提高了目标检测的处理速度。
[0097] 图11是本申请电子设备一实施例的结构示意图。如图11所示,该电子设备包括神经网络处理器21、与神经网络处理器21耦接的存储器22。
[0098] 其中,存储器22存储有用于实现上述任一实施例的方法的程序指令;神经网络处理器21(Neural‑network Processing Unit ,NPU)用于执行存储器22存储的程序指令以实
现上述方法实施例的步骤。
[0099] 本实施例提及的电子设备可以是摄像头、手机、电脑等设备。或者,电子设备可以是NPU设备,从而存储器22存储的是NPU适应的与其他的处理器相区别的程序指令。
[0100] 图12是本申请计算机可读存储介质一实施例的结构示意图。如图12所示,本申请实施例的计算机可读存储介质30存储有程序指令31,该程序指令31被执行时实现本申请上
述实施例提供的方法。其中,该程序指令31可以形成程序文件以软件产品的形式存储在上
述计算机可读存储介质30中,以使得一台计算机设备(可以是个人计算机,服务器,或者网
络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述
的计算机可读存储介质30包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机
存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介
质,或者是计算机、服务器、手机、平板等终端设备。
[0101] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,
仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以
结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论
的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或
通信连接,可以是电性,机械或其它的形式。
[0102] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的
实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等
效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请
的专利保护范围内。