目标检测系统、方法、装置、设备及介质与流程

文档序号:36268264发布日期:2023-12-06 16:33阅读:35来源:国知局
目标检测系统的制作方法

本技术属于机器学习,尤其涉及目标检测系统、方法、装置、设备及介质。


背景技术:

1、目标检测是计算机视觉领域的核心问题之一,其任务就是找出图像中所有感兴趣的目标,确定他们的类别和位置。近年来,随着机器学习技术的迅速发展,目标检测取得了显著的成绩,并越来越多地用于自动驾驶、智能交通、工业质量检测、目标跟踪和人脸检测等众多领域,可以理解的是,对于一些领域而言,目标检测任务执行时的准确度和实时性尤为重要。

2、为提高目标检测的准确度,一种可行的方法是通过提高目标检测模型的复杂度,提高目标检测模型特征提取时的精确度。然而,随着目标检测模型的层数增加,参数规模随之增大,计算耗时将会显著增加。

3、反之,通过单纯地精简模型结构,虽然能够提升推理速度,但准确性将会不可避免地产生损失。

4、因此,亟需提供一种方法,可以使目标检测任务在执行时能够兼顾准确率与实时性。


技术实现思路

1、本技术实施例提供了目标检测系统、方法、装置、设备及介质,可以解决目标检测准确性与实时性兼顾的问题。

2、第一方面,本技术实施例提供了一种目标检测系统,包括控制模块和协处理器,所述控制模块和所述协处理器通信连接;

3、所述控制模块用于根据待检测目标图像和/或根据所述协处理器发送的数据,执行目标检测模型的至少一部分运算,得到一个或多个第一结果,所述第一结果包括用于发送至所述协处理器的数据结果;

4、所述协处理器用于根据所述待检测目标图像和/或根据所述控制模块发送的数据执行所述目标检测模型的至少一部分运算,得到一个或多个第二结果,所述第二结果包括用于发送至所述控制模块的数据结果;

5、其中,所述目标检测模型是初始模型根据样本训练后得到的机器学习模型;所述第一结果和所述第二结果中,至少存在一个用于获得所述待检测目标图像的目标检测结果的数据结果。

6、在第一方面的一种可能的实施方式中,所述初始模型包括第一采样模块,所述第一采样模块用于提取图像特征,且所述第一采样模块包括至少两个尺寸不同的卷积分支;所述目标检测模型包括第二采样模块,所述第二采样模块是所述第一采样模块的各卷积分支融合后得到的。

7、在第一方面的一种可能的实施方式中,所述控制模块还用于发送运算指令至所述协处理器;所述协处理器用于根据所述运算指令执行所述目标检测模型指令部分的运算,得到所述第二结果;其中,所述运算指令与所述指令部分一一对应。

8、在第一方面的一种可能的实施方式中,所述协处理器包括指令存储器,所述指令存储器用于存储所述运算指令。

9、在第一方面的一种可能的实施方式中,所述第二结果还包括用于作为输入参数执行所述目标检测模型的至少一部分运算的数据结果。

10、在第一方面的一种可能的实施方式中,所述协处理器包括张量存储器;所述张量存储器用于存储:

11、所述控制模块发送至所述协处理器的张量形式的第一结果;和/或,

12、用于执行所述目标检测模型的至少一部分运算的张量形式的第二结果。

13、在第一方面的一种可能的实施方式中,所述协处理器还包括协控制器,所述协控制器能够用于解码所述指令存储器中的所述运算指令,得到指令解码信息。

14、在第一方面的一种可能的实施方式中,所述协处理器还包括运算单元,所述运算单元用于调用所述张量存储器中的数据作为输入数据,根据所述指令解码信息执行所述目标检测模型指令部分的运算,得到所述第二结果并写入所述张量存储器。

15、在第一方面的一种可能的实施方式中,所述卷积分支包括第一类分支,所述第一类分支包括依次连接的卷积层和归一化层。

16、在第一方面的一种可能的实施方式中,所述协处理器包括运算单元,所述运算单元包括用于执行所述第一类分支中卷积层运算的卷积子单元。

17、在第一方面的一种可能的实施方式中,所述卷积子单元由预设数量的乘加器阵列构成,所述预设数量匹配于所述目标检测模型的特征图尺寸。

18、在第一方面的一种可能的实施方式中,所述协处理器包括运算单元,所述运算单元包括后处理子单元,所述后处理子单元能够用于执行所述第一类分支中归一化层的运算。

19、在第一方面的一种可能的实施方式中,所述卷积分支包括第二类分支,所述第二类分支为直连分支,所述直连分支用于将所述直连分支输入端的值映射至所述直连分支的输出端。

20、在第一方面的一种可能的实施方式中,所述协处理器包括运算单元,所述运算单元包括用于执行所述第二类分支中直连运算的直连子单元。

21、在第一方面的一种可能的实施方式中,所述直连子单元由移位寄存器和流水线单元构成;通过所述移位寄存器,多个所述流水线单元能够缓存邻域像素并得到卷积结果;

22、所述流水线单元由第一数量的乘法器和第二数量的加法器构成;其中,第一数量等于所述目标检测模型中任一特征图的单通道卷积核操作数的最大值;第二数量等于所述目标检测模型中最大卷积核的卷积权重数减一。

23、在第一方面的一种可能的实施方式中,所述第一采样模块包括:

24、由两个第一类分支构成的第一降采样结构;和,

25、由两个第一类分支和一个第二类分支构成的第一特征提取结构。

26、在第一方面的一种可能的实施方式中,所述第一降采样结构的输出端连接有激活函数层。

27、在第一方面的一种可能的实施方式中,所述协处理器包括运算单元,所述运算单元包括后处理子单元,所述后处理子单元能够用于执行所述激活函数层的运算。

28、在第一方面的一种可能的实施方式中,所述初始网络包括依次连接的n个降维层,n为大于2的整数;所述n个降维层包括:

29、由单个所述第一降采样结构构成的降维层;

30、由依次连接一个所述第一降采样结构和两个所述第一特征提取结构构成的降维层;以及,

31、由依次连接一个所述第一降采样结构和三个所述第一特征提取结构构成的降维层。

32、在第一方面的一种可能的实施方式中,所述初始网络还包括:依次连接的n个升维层,所述n个升维层包括:

33、由依次连接的池化层、cbl层以及上采样层构成的池化升维层;

34、由依次连接的特征融合层、cbl融合层、cbl层以及上采样层构成的融合升维层;

35、由依次连接的cbl层、特征融合层、cbl融合层以及卷积层构成的输出层;以及,

36、由依次连接的特征融合层、cbl融合层以及卷积层构成的输出层;

37、其中,所述cbl融合层包括第一cbl分支、第二cbl分支以及cbl融合输出结构,所述第一cbl分支和所述第二cbl分支的输出端于所述cbl融合输出结构的输入端连接;所述第一cbl分支和所述第二cbl分支均由多个cbl子层构成,且所述第一cbl分支和所述第二cbl分支的cbl子层数量不同,所述cbl融合输出结构包括依次连接的特征融合子层和cbl子层。

38、在第一方面的一种可能的实施方式中,对于第一指定范围内的任一i取值,第i个所述降维层的输出端与第j个所述升维层中的特征融合层连接,其中,i+j=n+1。

39、在第一方面的一种可能的实施方式中,对于第二指定范围内的任一k取值,第k个所述升维层中cbl层的输出端与第l个所述升维层中的特征融合层连接,其中,k+l=n+1。

40、在第一方面的一种可能的实施方式中,所述输出层用于输出指定尺寸的所述目标检测结果;第n个所述降维层的输出端与所述池化升维层的输入端连接,所述融合升维层设置在所述池化升维层后,所述输出层设置在所述融合升维层后。

41、在第一方面的一种可能的实施方式中,所述协处理器还包括协控制器,所述协控制器能够用于:根据所述控制模块发送的指令,执行所述初始模型的训练运算,得到训练结果并传输至所述控制模块。

42、在第一方面的一种可能的实施方式中,所述控制模块还能够用于:

43、根据所述训练结果更新所述初始模型的参数,得到训练后的初始模型;和,

44、将训练后的初始模型中第一类分支的卷积层运算和归一化层运算合并,得到合并分支。

45、在第一方面的一种可能的实施方式中,所述控制模块还能够用于:

46、以第一预设方式将所述训练后的初始模型的第一降采样结构中合并分支的卷积核调整为相同尺寸;和/或,

47、以第二预设方式将所述训练后的初始模型的第一特征提取结构中合并分支和第二类分支调整为具有相同卷积核尺寸的卷积结构。

48、在第一方面的一种可能的实施方式中,所述运算单元包括后处理子单元,所述后处理子单元包括备用运算组件,所述备用运算组件能够用于执行非卷积运算且非激活函数运算的指定运算任务。

49、在第一方面的一种可能的实施方式中,所述后处理子单元由如下组件构成:

50、用于将整数转换为浮点数的第一组件;

51、用于将浮点数转换为整数的第二组件;

52、用于执行浮点数乘加运算的第三组件;以及,

53、用于执行激活函数层运算的第四组件。

54、在第一方面的一种可能的实施方式中,所述张量存储器包括:

55、存储空间匹配于所述待检测目标图像的输入缓存部分;

56、存储空间匹配于特征图张量的特征缓存部分,所述特征图张量是所述目标检测模型任一降维层或升维层的输出数据的至少一部分;

57、存储空间匹配于所述目标检测模型的模型权重参数量的权重缓存部分;以及,

58、存储空间匹配于指定尺寸的所述目标检测结果的输出缓存部分。

59、在第一方面的一种可能的实施方式中,所述协控制器还能够用于:根据指令解码信息中的计算结果形式信息,将所述运算单元根据所述指令解码信息计算得到的第二结果以预设方式存储至所述张量存储器,所述预设方式于所述计算结果形式信息一一对应。

60、在第一方面的一种可能的实施方式中,所述根据指令解码信息中的计算结果形式信息,将所述运算单元根据所述指令解码信息计算得到的第二结果以预设方式存储至所述张量存储器,包括:

61、确定所述指令解码信息中的计算结果形式信息为二维张量,则将所述运算单元根据所述指令解码信息计算得到的二维张量形式的第二结果按照通道的顺序依次存储至所述张量存储器,且任一所述通道的数据按照行主序或列主序存储在所述张量存储器内。

62、在第一方面的一种可能的实施方式中,所述根据指令解码信息中的计算结果形式信息,将所述运算单元根据所述指令解码信息计算得到的第二结果以预设方式存储至所述张量存储器,包括:

63、确定所述指令解码信息中的计算结果形式信息为三维张量,则将所述运算单元根据所述指令解码信息计算得到的三维张量形式的第二结果存储至所述张量存储器的指定三维存储块;

64、其中,所述三维存储块是所述张量存储器中预设的多个存储块,任一所述三维存储块的存储空间匹配于所述目标检测模型的三维特征图尺寸,且所述三维存储块内任一比特的存储地址均对应有三维张量形式的第二结果的通道序号、瓦片序号以及瓦片内行列号。

65、在第一方面的一种可能的实施方式中,还包括图像传感器;所述图像传感器用于读取所述待检测目标图像或所述样本,并传输至所述控制模块。

66、第二方面,本技术实施例提供了一种应用于控制模块的目标检测方法,包括:

67、获取待检测目标图像;

68、生成对应于目标检测模型的第一指定结构的运算指令,所述运算指令用于控制协处理器执行所述第一指定结构的运算任务;

69、获取第二结果,所述第二结果包括所述第一指定结构的运算结果;

70、根据所述第二结果和/或所述待检测目标图像执行所述目标检测模型的第二指定结构的运算,得到第一结果;

71、根据所述第一结果和/或所述第二结果,得到所述待检测目标图像的目标检测结果;

72、其中,所述目标检测模型是初始模型根据样本训练后得到的机器学习模型。

73、在第二方面的一种可能的实施方式中,所述第一指定结构和所述第二指定结构构成所述目标检测模型。

74、在第二方面的一种可能的实施方式中,所述获取待检测目标图像的步骤后,包括:

75、颜色归一化所述待检测目标图像,并发送至所述协处理器。

76、在第二方面的一种可能的实施方式中,所述目标检测模型和所述初始模型均包括依次连接的降维部分、升维部分以及后处理部分;

77、所述降维部分用于对所述待检测目标图像进行特征提取,得到多个降维特征;所述升维部分用于对所述降维特征进行特征融合,得到至少一个升维特征;所述后处理部分用于对所述升维特征进行全连接运算并输出所述目标检测结果;

78、其中,所述初始模型的降维部分包括第一采样模块,所述第一采样模块包括至少两个尺寸不同的卷积分支;所述目标检测模型的降维部分包括第二采样模块,所述第二采样模块是所述第一采样模块的各卷积分支融合后得到的。

79、在第二方面的一种可能的实施方式中,所述获取第二结果的步骤前,还包括:

80、生成训练指令,所述训练指令用于控制所述协处理器执行基于样本的训练运算;

81、获取训练结果,根据所述训练结果更新所述初始模型的参数,得到训练后的初始模型,所述训练结果是所述协处理器根据所述训练指令运算得到的结果;

82、将训练后的初始模型中卷积分支的卷积层运算和归一化层运算合并,得到具有合并分支的初始模型。

83、在第二方面的一种可能的实施方式中,所述将训练后的初始模型中卷积分支的卷积层运算和归一化层运算合并,得到具有合并分支的初始模型的步骤后,还包括:

84、执行如下步骤,以得到所述目标检测模型:

85、以第一预设方式将所述合并分支的卷积核调整为相同尺寸;和/或,

86、以第二预设方式将所述合并分支和直连分支调整为具有相同卷积核尺寸的卷积结构。

87、在第二方面的一种可能的实施方式中,所述得到所述目标检测模型的步骤后,还包括:

88、将所述目标检测模型的模型权重参数发送至所述协处理器。

89、在第二方面的一种可能的实施方式中,所述第二指定结构包括所述目标检测模型的后处理部分中的全连接层和/或非极大值抑制层。

90、第三方面,本技术实施例提供了一种应用于协处理器的目标检测方法,包括:

91、获取控制模块生成的对应于目标检测模型的第一指定结构的运算指令;

92、根据所述运算指令执行所述目标检测模型的第一指定结构的运算,得到第二结果;所述第二结果用于作为输入参数供所述控制模块执行所述目标检测模型的第二指定结构的至少一部分运算;和/或,用于作为输入参数获得所述待检测目标图像的目标检测结果;

93、所述目标检测模型是初始模型根据样本训练后得到的机器学习模型。

94、在第三方面的一种可能的实施方式中,所述第一指定结构和所述第二指定结构构成所述目标检测模型。

95、在第三方面的一种可能的实施方式中,所述获取控制模块生成的对应于目标检测模型的第一指定结构的运算指令的步骤前,还包括:

96、获取训练指令,并根据所述训练指令执行基于样本的训练运算,得到训练结果。

97、在第三方面的一种可能的实施方式中,所述获取控制模块生成的对应于目标检测模型的第一指定结构的运算指令的步骤前,还包括:

98、获取所述目标检测模型的模型权重参数,所述模型权重参数用于执行所述目标检测模型的第一指定结构的运算。

99、在第三方面的一种可能的实施方式中,所述目标检测模型和所述初始模型均包括依次连接的降维部分、升维部分以及后处理部分;

100、所述降维部分用于对所述待检测目标图像进行特征提取,得到多个降维特征;所述升维部分用于对所述降维特征进行特征融合,得到至少一个升维特征;所述后处理部分用于对所述升维特征进行全连接运算并输出所述目标检测结果;

101、其中,所述初始模型的降维部分包括第一采样模块,所述第一采样模块包括至少两个尺寸不同的卷积分支;所述目标检测模型的降维部分包括第二采样模块,所述第二采样模块是所述第一采样模块的各卷积分支融合后得到的。

102、在第三方面的一种可能的实施方式中,所述第一指定结构包括:

103、所述目标检测模型的升维部分中的降采样层、特征提取层、归一化层、直连分支以及激活函数层;和,

104、所述目标检测模型的降维部分中的池化层、cbl层、上采样层、特征融合层以及激活函数层。

105、在第三方面的一种可能的实施方式中,所述降采样层包括卷积层、归一化层以及激活函数层;所述特征提取层包括卷积层、归一化层以及直连分支;

106、所述根据所述运算指令执行所述目标检测模型的第一指定结构的运算,得到第二结果的步骤包括:

107、确定所述运算指令为所述卷积层运算,则调用卷积子单元执行运算;

108、确定所述运算指令为直连分支运算,则调用直连子单元执行运算;

109、确定所述运算指令为归一化层运算或激活函数层运算,则调用后处理子单元执行运算。

110、第四方面,本技术实施例提供了一种目标检测控制装置,包括:

111、第一获取组件,用于获取待检测目标图像;

112、指令组件,用于生成对应于目标检测模型的第一指定结构的运算指令,所述运算指令用于控制协处理器执行所述第一指定结构的运算任务;

113、第二获取组件,用于获取第二结果,所述第二结果包括所述第一指定结构的运算结果;

114、第一运算组件,用于根据所述第二结果和/或所述待检测目标图像执行所述目标检测模型的第二指定结构的运算,得到第一结果;

115、分类组件,用于根据所述第一结果和/或所述第二结果,得到所述待检测目标图像的目标检测结果;

116、其中,所述目标检测模型是初始模型根据样本训练后得到的机器学习模型。

117、第五方面,本技术实施例提供了另一种目标检测控制装置,包括:

118、第三获取组件,用于获取控制模块生成的对应于目标检测模型的第一指定结构的运算指令;

119、第二运算组件,用于根据所述运算指令执行所述目标检测模型的第一指定结构的运算,得到第二结果;所述第二结果用于作为输入参数供所述控制模块执行所述目标检测模型的第二指定结构的至少一部分运算;和/或,用于作为输入参数获得所述待检测目标图像的目标检测结果;

120、所述目标检测模型是初始模型根据样本训练后得到的机器学习模型。

121、第六方面,本技术实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第二或第三方面中任一项所述的目标检测方法。

122、第七方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第二或第三方面中任一项所述的目标检测方法。

123、第八方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第二或第三方面中任一项所述的目标检测方法。

124、本技术实施例与现有技术相比存在的有益效果是:

125、借助于控制模块和协处理器分别执行所述目标检测模型中的一部分运算,解决目标检测模型在部署中目标检测任务执行较慢的问题。

126、具体地,通过将目标检测模型中的运算任务分解,并分别交由控制模块和协处理器进行运算,能够结合两者在硬件性能上的优势,兼顾目标检测的实时性和准确性。

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