一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目标识别方法、设备及存储介质与流程

2021-10-19 23:30:00 来源:中国专利 TAG:识别 视觉 目标 计算机 方法


1.本技术涉及计算机视觉技术领域,尤其涉及一种目标识别方法、设备及存储介质。


背景技术:

2.现如今,深度学习技术被广泛应用到各个领域,为人们的生活、出行等提供了极大的方便。在基于深度学习的计算机视觉领域中,通常需要对不同环境下拍摄到的图像进行识别分析。
3.但是,图像质量受拍摄环境的影响较大,现有的深度学习技术,无法较好地针对不同环境下拍摄的到的图像进行识别分析。因此,有待提出一种新的解决方案。


技术实现要素:

4.本技术的多个方面提供一种目标识别方法、设备及存储介质,用以提升对不同环境下拍摄到的图像的目标识别能力。
5.本技术实施例提供一种目标识别方法,包括:响应客户端对第一接口的调用请求,获取接口参数包含的待处理的图像;将所述图像输入神经网络模型,得到所述图像中的目标的识别结果;其中,所述神经网络模型中的归一化层,用于:对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作,得到所述归一化层的输出数据;将所述识别结果返回至所述客户端。
6.本技术实施例提供一种目标识别方法,包括:获取待处理的图像;将所述图像输入神经网络模型,得到所述图像中的目标的识别结果;其中,所述神经网络模型中的归一化层,用于:对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作,得到所述归一化层的输出数据。
7.本技术实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本技术实施例提供方法中的步骤。
8.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本技术实施例提供的方法中的步骤。
9.本技术实施例中,可实现基于神经网络模型的目标识别操作。神经网络模型中包含归一化层,该归一化层,可对输入归一化层的一部分特征数据进行实例归一化操作,并对输入的另一部分特征数据进行批量归一化操作。基于这种方式,可利用实例归一化操作,降低图像上的独特性的部分对目标识别过程的影响,以提升神经网络模型对具有不同特征分布的图像的适应能力,同时,利用批量归一化操作,提升神经网络模型对图像特征的辨识能力,进而,可有效增强神经网络模型的泛化性能,使得神经网络模型对多种不同环境下拍摄到的图像均具有较高的目标识别准确率。
附图说明
10.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
11.图1为本技术一示例性实施例提供的目标识别方法的流程示意图;
12.图2为本技术一示例性实施例提供的神经网络模型的结构示意图;
13.图3为本技术另一示例性实施例提供的神经网络模型的结构示意图;
14.图4为本技术又一示例性实施例提供的神经网络模型的结构示意图;
15.图5为本技术又一示例性实施例提供的神经网络模型的结构示意图;
16.图6为本技术另一示例性实施例提供的目标识别方法的流程示意图;
17.图7为本技术一示例性实施例提供的监控系统的结构示意图;
18.图8为本技术一示例性实施例提供的电子设备的结构示意图。
具体实施方式
19.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.人工神经网络(artificial neural networks),是人工智能领域兴起的研究热点。它是从信息处理角度对人脑神经元网络进行抽象并建立起的一种运算模型,按不同的连接方式组成不同的网络。
21.深度学习(deep learning),是在多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合。深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。
22.神经网络模型通常由多层网络层构成,每一层网络层包括多个神经元(节点),神经网络模型的多层网络层中包括输入层、输出层及位于输入层以及输出层之间的至少一个隐藏层(除输入层和输出层以外的其他各层叫做隐藏层,隐藏层不直接接受外界的信号,也不直接向外界发送信号),至少一个隐藏层可以对输入至输入层的待处理图像进行逐级计算处理,以获得对待处理图像的深入表达。因此,隐藏层的输出为可以表征待处理图像的特征图,不同隐藏层输出的特征图不同,每一层隐藏层对于其前一层隐藏层的特征表示更深入。
23.其中,每一层隐藏层的特征图通常是一个多通道特征图,多通道特征图中包含多个通道图。例如:待处理图像为二维图像时,对应的多通道特征图可表示为c*w*h结构,其中,c指的是通道数,w和h指的是每一通道图(此时通道图是二维的)的宽和高。
24.基于神经网络模型解决计算机视觉领域的图像处理问题时,图像的质量受拍摄环境影响较大,影响了神经网络模型对图像的识别分析能力。例如,在夜间条件下,由于训练数据受限、光照条件差、目标特征不明显等原因,深度学习的目标别性能相较白天而言具有显著的衰减。
25.目前,针对神经网络夜间识别问题的方法大致包括以下几类:
26.第一类是基于数据的方法,即通过大量的训练数据采集优化夜间识别性能,该方
法依赖较大的训练数据,但通常夜间本身采集难度较大,需要花费大量的人力来提供数据标签。
27.第二类是基于预处理的方法,即在识别之前对图像做增强、亮化等操作以使得图像可见度更高,但该方法通常性能提升有限,且需要额外增加增强操作的计算复杂度。
28.第三类是通过在训练过程中施加约束,使得白天图像经过特征提取后的数据分布与夜间图像经过特征提取后的数据分布近似,但是该方法通常鲁棒性较差且性能有限。
29.针对上述多种技术问题,本技术实施例提供了一种目标识别方法,对人工神经网络模型的结构进行了改进,增强了神经网络模型对不同环境下拍摄到的图像的识别分析能力。以下将结合附图进行说明。
30.图1为本技术一示例性实施例提供的目标识别方法的流程示意图,如图1所示,该方法包括:
31.步骤101、获取待处理的图像。
32.步骤102、将所述图像输入神经网络模型,得到所述图像中的目标的识别结果;其中,所述神经网络模型中的归一化层,用于:对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作,得到所述归一化层的输出数据。
33.本技术实施例提供的目标识别方法,可应用于多种基于图像的目标识别场景。例如,可应用于基于图像的行人识别场景、人脸识别场景、车辆识别场景、障碍物识别场景、烟火等高风险物识别场景、商品识别场景、动物识别场景等等,本实施例包含但不限于此。
34.其中,该待处理的图像,可包括多种不同环境下拍摄到的包含图像,例如监控摄像头在夜间环境下拍摄到的图像、监控摄像头在白天日照较佳的环境下拍摄到的图像、监控摄像头在白天阴天环境下拍摄到的图像、监控摄像头在特定波长的光线照射下拍摄到的图像,本技术实施例不再一一列举。
35.不同环境下拍摄到的图像的特征分布不同,因此,在基于图像的目标识别场景中,为提升对不同环境下拍摄到的图像的识别准确度,需提升神经网络模型对具有不同特征分布的图像的适应能力以及特征的分辨能力。
36.为满足这种需求,在本实施例中,在神经网络模型中增加了归一化层。其中,归一化(normalization),通常指对数据分布做归一化操作,如归一化到标准正太分布等。基于归一化操作,可对神经网络模型中的神经元节点的输出做数据分布归一化,以加速训练过程或者提升性能。
37.在本实施例中,该归一化层,以特征数据为处理对象,因此,该归一化层可以添加在神经网络模型中用于输出特征数据的网络层与非线性激活函数之间。例如,可添加在卷积层与非线性激活层之间,具体可视实际需求而定,本实施例不做限制。
38.其中,实例归一化操作,指的是对单个实例进行归一化操作,能够排除掉单个图像中的独特性部分,以适应不同环境下拍摄到的图像。例如可排除白天、夜间场景中的光线不同导致的图像背景基调的差异。其中,批量归一化,用于保留图像中的差异化特征,提升神经网络模型对特征的辨识能力。
39.在神经网络模型中,该归一化层对一部分输入特征数据进行实例归一化操作,并对另一部分输入特征数据进行批量归一化操作时,进而,可较好地适应不同环境下拍摄到
的图像之间的差异,并保留对差异化特征的辨识能力。
40.基于本技术实施例提供的神经网络模型,在获取到待处理的图像后,将该图像输入神经网络模型,即可得到该图像中的目标的识别结果。
41.在本实施例中,可利用实例归一化操作,降低图像上的独特性的部分对目标识别过程的影响,以提升神经网络模型对具有不同特征分布的图像的适应能力,同时,利用批量归一化操作,提升神经网络模型对图像特征的辨识能力,进而,可有效增强神经网络模型的泛化性能,使得神经网络模型对多种不同环境下拍摄到的图像均具有较高的目标识别准确率。
42.在本技术的上述以及下述各实施例中,该神经网络模型可包括:卷积神经网络(convolutional neural networks,cnn)、深度神经网络(deep neural network,dnn)、卷积神经网络(graph convolutional networks,gcn)、循环神经网络(recurrent neural network,rnn)以及长短期记忆神经网络(long short-term memory,lstm)一种或多种,或者可由上述一种或多种神经网络变形得到,本实施例不做限制。
43.图2为本技术一示例性实施例提供的神经网络模型的结构示意图,如图2所示,在神经网络模型中,包含至少一个归一化层,该归一化层位于神经网络模型的中间层,即隐藏层中,该归一化层可针对输入的特征数据进行归一化,并将归一化后的特征数据传递至下一层网络进行处理。
44.如图2所示,该归一化层,可包括:并列的批量归一化(batch normalization,简称bn)层和实例归一化(instance normalization,简称in)层。其中,in层和bn层相互协同,共同完成归一化层的归一化操作。即:该归一化层可基于in层对归一化层的一部分输入特征数据进行实例归一化操作,得到归一化层的一部分输出数据,并基于bn层,对归一化层的另一部分输入特征数据进行批量归一化操作,得到归一化层的另一部分输出数据。
45.图2以归一化层作为卷积层与激活层之间的夹层为例,对本技术实施例提供的归一化层在神经网络模型中的作用进行了示意,但并不限制归一化层的前后层结构仅如图2所示。
46.在一些可选的实施例中,本技术实施例提供的归一化层,可作为神经网络模型中任意两个相邻的网络层之间的夹层。例如,可作为卷积层与激活层之间的夹层,或者,可作为自注意力层与激活层之间的夹层,或者,可作为循环神经网络层与激活层之间的夹层等等,不再一一列举。
47.应当理解,本技术实施例提供的归一化层的归一化对象为特征数据。因此,在实际应用中,该归一化层可应用于神经网络模型中的任意一个可输出特征数据的网络层与激活层之间,以便于该归一化层对该网络层输出的特征数据进行归一化操作,本实施例不做限制。
48.基于神经网络模型中in层和bn层的协同机制,可从多种不同环境下拍摄到的图像中提取有效特征,降低图像拍摄环境对图像的识别分析环节的影响,提升神经网络模型的泛化能力,以准确地对不同环境下拍摄到的图像进行目标识别。
49.在一些可选的实施例中,在神经网络模型中,可根据归一化层的输出通道的数量,确定in层的通道数以及bn层的通道数。进而,可基于in层的通道数以及bn层的通道数,确定输入in层的一部分特征数据以及输入bn层的另一部分特征数据。为便于描述和区分,将分
配给in层的通道数,描述为第一通道数,将分配给bn层的通道数,描述为第二通道数。基于此,神经网络模型对归一化层的一部分输入特征数据进行实例归一化操作,对归一化层的另一部分输入特征数据进行批量归一化操作时,可将输入该归一化层的多通道特征数据中的第一通道数的特征数据,输入in层;以及,将第二通道数的特征数据,输入bn层。
50.其中,输入该归一化层的多通道特征数据可表示为:c*w*h的结构,其中,c为归一化层的通道数,w和h指的是每一通道特征图的宽和高。其中,第一通道数的特征数据可表示为:c1*w*h,第二通道的特征数据可表示为c1*w*h。其中,c1表示第一通道数,c2表示第二通道数,c1 c2=c。
51.基于in层,可对第一通道数的特征数据进行实例归一化操作,得到第一通道数的输出数据;以及,基于bn层,对第二通道数的特征数据进行批量归一化操作,得到第二通道数的输出数据。
52.其中,第一通道数和第二通道数对应的具体数值,可根据该归一化层的输出通道的数量进行设置。
53.在一些可选的实施例中,第一通道数以及第二通道数,可分别为该归一化层的输出通道数的二分之一。即,在同一归一化层,实例归一化层与批量归一化层各占一半的通道数。例如,假设该归一化层的输出通道数为64,则in和bn协同时,实例归一化层输出通道数可以为32,批量归一化层的输出通道数可以为32。又例如,假设该归一化层的输出通道数为128,则in和bn协同时,实例归一化层输出通道数可以为64,批量归一化层的输出通道数可以为64。
54.当然,在另一些可选的实施例中,第一通道数以及第二通道数可按照其他的划分规则进行划分。例如,可按照“二八分”、“三七分”的原则,将该归一化层的通道数分别划分成第一通道数和第二通道数,本实施例不做限制。
55.以下将以该第一通道数的特征数据为例,对上述各实施例记载的实例归一化的过程进行示例性说明。
56.其中,输入神经网络模型的待处理的图像,可被称为一个实例。实例归一化操作对该图像的作用可描述为:基于预先根据样本图像学习到的特征分布,削弱该图像中的独特性特征,该独特征特征可表现为因拍摄环境导致的图像背景的差异,进而提升神经网络模型对该图像的适应能力。
57.其中,预先根据样本图像学习到的特征分布,可表现为:预先根据输入in层的样本图像实例的特征数据计算得到的实例均值μ
i
和实例方差σ
i
。该预先学习的过程将在后续的实施例中进行介绍,此处不赘述。
58.基于此,在in层中,可根据in层对应的实例均值和实例方差,对第一通道数的特征数据进行归一化操作,得到第一通道数的输出数据。
59.例如,in层的输出通道数为32时,可基于实例均值和实例方差,对32个通道的特征数据执行归一化操作,得到in层的32个通道的输出数据。
60.接下来,将以该第二通道数的特征数据为例,对上述各实施例记载的实例归一化的过程进行示例性说明。
61.批量归一化操作对该图像的作用可描述为:基于预先根据批量的样本图像学习到的特征分布,突出该图像与其他图像的特征差异性,进而提升神经网络模型对该图像的特
征分辨能力。
62.其中,预先根据批量的样本图像学习到的特征分布,可表现为:预先输入bn层的样本图像组的特征数据计算得到的批量均值μ
b
和批量方差σ
b
,以及bn层对应的批量归一化调节因子。其中,批量归一化调节因子,包括:缩放调节因子γ以及平移调节因子β。
63.基于此,在bn层中,可根据批量归一化调节因子、批量归一化层的批量均值和批量方差,对第二通道数的特征数据进行批量归一化操作,得到第二通道数的输出数据。
64.其中,批量归一化调节因子γ和β,可在神经网络模型的训练阶段基于样本图像学习得到,也可以根据输入的图像的特征数据实时计算得到。
65.为进一步提升神经网络模型的性能,在本技术实施例中,提供了一种自适应计算批量归一化调节因子γ和β的可选实施方式,以下将进行示例性说明。
66.可选地,批量归一化调节因子γ和β,可基于该归一化层的上游网络层输出的特征数据计算得到。
67.可选地,该上游网络层,可以是与该归一化层相邻的上游网络层。例如,以图3为例,可根据卷积层conv2输出的特征数据,计算该归一化层的批量归一化调节因子γ和β。
68.可选地,该上游网络层,可以是与该归一化层不相邻的上游网络层。例如,以图2为例,可根据卷积层conv1输出的特征数据,计算该归一化层的批量归一化调节因子γ和β;或者,可根据卷积层conv1以及卷积层conv2输出的特征数据的融合特征数据,计算归一化调节因子γ和β。
69.也就是说,在本实施例中,可根据上游指定层级的网络层输出的特征数据,或者,根据上游多层级的网络层输出的特征数据的融合数据,计算归一化调节因子γ和β。
70.为实现基于不相邻的上游网络层输出的特征数据计算归一化调节因子γ和β,本技术实施例提供的神经网络模型可实现为如图4所示的结构。如图4所示,该归一化层还包括:调节因子计算分支。
71.其中,调节因子计算分支与bn层连接,用于:根据输入调节因子计算分支的特征数据以及因子计算参数,计算bn层的批量归一化调节因子γ和β;其中,该因子计算参数,可预先根据批量样本图像学习得到。
72.可选地,调节因子计算分支的输入端可与批量归一化层的上游网络层连接,进而可根据批量归一化层的上游网络层输出的特征数据,计算批量归一化调节因子γ和β,并将计算得到的批量归一化调节因子γ和β输出至该批量归一化层。
73.在这种实施方式中,可选地,调节因子计算分支的输入端可与上游指定层级的网络层连接,进而,可根据上游指定层级的网络层输出的特征数据计算批量归一化调节因子γ和β。例如图4所示,调节因子计算分支可与conv1的激活层连接,或者,与conv2的激活层连接。
74.在这种实施方式中,可选地,调节因子计算分支的输入端可与上游多层级的网络层连接,进而,可根据上游多层级的网络层输出的特征数据的融合数据计算批量归一化调节因子γ和β。例如图4所示,调节因子计算分支可基于conv1和conv2提取到的不同层级的特征的融合特征,计算bn层的γ和β。
75.当神经网络模型包含多级特征提取网络时,随着特征提取网络的层级不断提升,提取出的图像的特征的层次也越深。通常,低层级的特征提取网络可提取到图像中的浅层
特征,浅层特征主要用于表达图像中的细节信息。高层级的特征提取网络可提取到图像中的深层特征,深层特征主要用于表达图像中的语义信息。
76.调节因子计算分支基于上游网络层提取出的特征计算批量归一化调节因子时,可充分利用层级较低的特征体现出来的特征差异性,自适应地为批量归一化层计算得到合适的批量归一化调节因子γ和β,提升神经网络模型对不同场景拍摄到的图像的识别能力。
77.可选地,如图5所示,调节因子计算分支,可包括卷积层、全局平均池化层(global average pooling,gap)以及全连接层(fully connected layer,fc)。上游网络层输出的特征数据,通过卷积神经网络层进行卷积计算后,可通过全局平均池化层降低特征维度,最后通过一层全连接层输出批归一化层中所用到的和两个参数γ和β。
78.当然,调节因子计算分支的结构,并不局限于图5所示的结构。在一些其他可选的实施例中,调节因子计算分支可由卷积神经网络层与全连接层构成,或者,可由自注意力层(self-attention)与全连接层构成,本实施例包含但不限于此。
79.除前述各实施例记载的目标识别方法之外,本技术实施例还提供一种神经网络模型的训练方法,用于训练得到的上述各实施例使用的神经网络模型。以下将继续结合附图进行示例性说明。
80.在训练神经网络模型时,可获取多种不同环境下拍摄得到的混杂的样本图像,并将混杂的样本图像划分为多个样本图像组,每个样本图像组作为一个训练批次。其中,每个样本图像组包含不同环境下拍摄得到的多张图像,该多张图像各自标注有目标的真值。其中,该不同不同环境下拍摄到的图像,包括:白天环境下拍摄到的图像以及夜晚环境下拍摄到的图像。进而,可使得神经网络模型学习更好地识别夜间目标。
81.以下将以任意一个样本图像组为例进行示例性说明。将样本图像组输入神经网络模型后,神经网络模型可对样本图像组中的图像进行特征提取,并基于提取到的特征,预测得到图像中的目标的预测值。
82.其中,神经网络模型包含前述各实施例记载的归一化层,该归一化层包含协同的in层和bn层。在训练的过程中,归一化层的输入为:样本图像组的多通道特征数据,可表示为:n*c*w*h的结构,其中,n表示样本图像组包含的样本图像的数量。
83.归一化层可基于in层,对样本图像组的多通道特征数据中的第一通道数的特征数据进行实例归一化处理,并基于bn层,对样本图像组的多通道特征数据中的第二通道数的特征数据进行批量归一化处理,得到该归一化层的输出数据。
84.获取到神经网络模型输出的目标的预测值后,可基于目标的预测值以及图像上标注的目标的真值,可对神经网络模型的各参数进行优化。除了优化神经网络模型的权重、偏置参数等模型参数之外,还需进一步优化归一化层的参数。即:bn层对应的实例均值μ
i
和实例方差σ
i
,以及,批量归一化层对应的批量归一化调节因子γ和β、批量均值μ
b
和批量方差σ
b

85.在训练的过程中,批量归一化,是针对批量的样本数据组进行的。继续以in层的通道数为第一通道数,bn层的通道数为第二通道数为例。
86.第二通道数的特征数据输入bn层之后,可在批量归一化层中,分别计算输入每个通道的样本图像组的特征数据,得到每个通道对应的批量均值μ
b
和批量方差σ
b
。其中,第二通道数的特征数据可表示为:n*c2*w*h结构,c2为是第二通道数。bn层的计算可描述为:每
个通道的n*w*h进行归一化处理。
87.当bn层连接有调节因子计算分支时,可结合调节因子计算分支输出的γ和β,计算bn层的输出数据。其中,bn层批量归一化的算法可描述为以下过程:
88.将样本图像组中的m张样本图像(即批量样本数据)对应的特征数据输入bn层,即bn层某一通道的输入为:b={x1,x2,x3

x i

x m}。x i表示第i张样本图像的特征数据,i=1,2


89.步骤1,基于公式1计算批量样本对应的特征数据的均值:
[0090][0091]
步骤2、基于公式2,计算批量样本对应的特征数据的方差:
[0092][0093]
步骤3、基于公式3对批量样本对应的特征数据进行归一化:
[0094][0095]
其中,ε是为了避免除数为0时使用的微小正数。
[0096]
步骤4、基于公式4,对归一化得到的数据进行尺度变换和偏移:
[0097][0098]
在公式4中,{y
i
=bn
γ,β(xi)
}为输出的归一化后的网络响应,γ和β可以由调节因子计算分支输出。
[0099]
在训练的过程中,当采用多批样本图像对神经网络模型进行训练时,每输入一批样本图像,在bn层计算得到当前批次的样本图像的批量均值μ
b
和批量方差σ
b
之后,可与前序批次样本图像计算得到的批量均值μ
b
和批量方差σ
b
做滑动平均。当多批样本图像训练完成或者神经网络模型损失收敛到指定范围时,可将滑动平均得到的批量均值μ
b
和批量方差σ
b
作为bn层的固定参数,以备后续使用。
[0100]
在训练的过程中,γ和β是可学习的参数,调节因子计算分支,可根据输入的特征数据,学习如何自适应地输出供bn层使用的γ和β。调节因子计算分支需要学习的用于计算γ和β的参数,可被描述为因子计算参数。在模型优化的过程中,可为调节因子计算分支设置损失函数,并将调节因子计算分支的损失函数,与神经网络模型的其他损失函数进行联合,以对神经网络模型进行联合优化,不再赘述。
[0101]
基于上述步骤,实现了归一化参数的自适应学习。调节因子计算分支可以简单的插入到模型中,进行端到端的学习,不需要依赖任何结构。bn层可在调节因子计算分支的辅助下,对批量的图像进行归一化操作,能够较优地保留样本之间的差异化特征。
[0102]
其中,in层的计算过程与上述bn层的计算过程相似,不同之处在于,in层用于对单个实例样本进行归一化操作。即,第一通道数的特征数据输入in层之后,可在in层中,分别计算每个样本图像对应的实例均值μ
i
和实例方差σ
i
。其中,第一通道数的特征数据可表示为:n*c1*w*h结构,c1为是第一通道数。in层的计算可描述为:对每个w*h进行归一化处理,不受通道和样本数量(batchsize)的影响。
[0103]
当采样多张样本图像对神经网络模型进行训练时,在in层每计算得到当前实例样本的实例均值μ
i
和实例方差σ
i
之后,可与其他样本图像计算得到的实例均值μ
i
和实例方差σ
i
做滑动平均。当多批样本图像训练完成或者神经网络模型损失收敛到指定范围时,可将滑动平均得到的实例均值μ
i
和实例方差σ
i
作为in层的固定参数,以备后续使用。
[0104]
基于这种方式,in层能够学习如何排除掉单个实例样本中的独特性的部分,例如可排除白天、夜间场景中的光线不同导致的图像背景基调的差异。进而,可使得训练完成的神经网络模型基于in适应不同环境下拍摄到的图像之间的差异的同时,基于bn保留对差异化特征的辨识能力。
[0105]
除此之外,本实施例提供的模型训练方法,不需要花费大量人力成本进行样本数据采集,也不需要额外增加计算复杂度,训练得到的神经网络模型具有较高的鲁棒性以及泛化能力。
[0106]
图6为本技术另一示例性实施例提供的目标识别方法的流程示意图,如图6所示,该方法包括:
[0107]
步骤601、响应客户端对第一接口的调用请求,获取接口参数包含的待处理的图像。
[0108]
步骤602、将所述图像输入神经网络模型,得到所述图像中的目标的识别结果;所述神经网络模型中的归一化层,用于:对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作,得到所述归一化层的输出数据。
[0109]
步骤603、将所述识别结果返回至所述客户端。
[0110]
本实施例的执行主体可以是服务端设备,例如常规服务器或者云服务器。其中,客户端可实现为用户侧的手机、计算机、平板电脑等设备。
[0111]
在本实施例中,可将前述各实施例提供的目标识别方法封装为可供第三方使用的软件工具,例如saas(software-as-a-service,软件即服务)工具。其中,该saas工具可实现为插件或者应用程序。该插件或者应用程序可以被部署在服务端设备上,并可向客户端等第三方用户开放指定的接口。为便于描述,在本实施例中,将该指定的接口描述为第一接口。进而,客户端等第三方用户通过调用该第一接口,便捷地访问并使用服务端设备提供的移动对象检测服务。
[0112]
例如,在一些场景下,该saas工具可被部署在云服务器,第三方用户可调用云服务器提供的第一接口来在线使用该saas工具。其中,第三方用户调用第一接口时,可通过配置第一接口的接口参数,向saas工具提供移动对象的属性识别操作所需的输入数据,即本实施例所述的待处理的图像。可选地,该待处理的图像数据可包括连续拍摄得到的视频数据,或者离散拍摄得到的图像序列,本实施例不做限制。
[0113]
saas工具接收到针对第一接口的调用请求后,可通过解析第一接口的接口参数,获取客户端提供的待处理的图像。saas工具基于神经网络模型识别到待处理的图像中的目标后,可通过该第一接口或者其他通信方式,将识别到的目标返回至客户端。其中,基于神经网络模型识别待处理的图像中的目标的可选实施方式可参考前述实施例的记载,此处不再赘述。
[0114]
在本实施例中,服务端设备可基于其上运行的saas工具,向客户端提供基于图像
的目标识别服务,客户端用户可通过调用saas工具提供的接口使用服务端设备提供的目标识别服务。基于客户端与服务端设备的交互,客户端可将图像的目标识别操作完全交由服务端设备执行,进而,可借助服务端设备强大的计算能力和可靠的属性识别算法,实现低成本、高准确率的目标识别操作。
[0115]
基于本技术上述实例提供的目标识别方法,可应用于多种目标检测场景,例如高速公路的车辆检测场景、路口的行人检测场景、工厂的入室盗窃检测场景等等。在上述多种场景中,如图7所示,可基于图像采集设备701、服务器702以及终端设备703部署监控系统700。
[0116]
其中,图像采集设备701可实现为多种能够实现高清拍摄的电子设备,包括但不限于基于ccd(charge-coupled device,电荷耦合元件)图像传感器或者cmos(complementary metal oxide semiconductor,互补金属氧化物半导体)图像传感器进行成像的电子设备,例如高速摄像机、摄录仪、旋转摄像机、红外夜视相机等,不再赘述。
[0117]
其中,图像采集设备701的数量可以是一个或者多个,可根据实际需求进行选择,本实施例不做限制。通常,图像采集设备701可复用待拍摄的场所中已部署的监控摄像头,以降低硬件成本。
[0118]
其中,服务器702可实现为常规服务器、云服务器、云主机、虚拟中心等服务器等设备,本实施例对此不做限制。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,不再赘述。
[0119]
其中,终端设备703可实现为用户侧的手机、平板电脑、计算机、智能穿戴设备等等。
[0120]
图像采集设备701在夜间以及白天进行持续拍摄,并可将持续拍摄得到的视频流或者图像序列发送至服务器702进行处理。
[0121]
其中,图像采集设备701与服务器702之间,以及,终端设备703与服务器702之间,可采用有线通信方式无线通信方式进行通信。其中,无线通信方式包括蓝牙、zigbee、红外线、wifi(wireless-fidelity,无线保真技术)等短距离通信方式,也包括lora等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g (lte )、5g、wimax等中的任意一种,本实施例不做限制。
[0122]
服务器702接收到图像采集设备发送的视频流或者图像序列后,可基于前述各实施例记载的神经网络模型,识别图像中的目标。基于神经网络模型中相互协的bn层和in层,服务器702对白天拍摄的图像以及夜间拍摄的图像均有较好的目标识别效果。
[0123]
服务器702识别到目标后,可直接将识别到的目标发送至终端设备702进行展示,或者,对识别到的目标进行进一步计算后发送至终端设备702进行展示。例如,在一些实施例中,存在统计某道路夜间车流量的需求时,服务器702可根据夜间拍摄该道路得到的监控视频中,识别行驶通过该道路的车辆,并对行驶过的车辆进行计数,得到夜间通行的车辆数。接下来,将统计得到的车辆数发送至终端设备702进行展示。
[0124]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤102的执行主体可以为设备a;又比如,步骤101的执行主体可以为设备a,步骤103的执行主体可以为设备b;等等。
[0125]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
[0126]
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0127]
图8是本技术一示例性实施例提供的电子设备的结构示意图,如图8所示,该电子设备包括:存储器801、处理器802以及通信组件803。
[0128]
存储器801,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0129]
其中,存储器801可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0130]
处理器802,与存储器801耦合,用于执行存储器801中的计算机程序,以用于:获取待处理的图像;将所述图像输入神经网络模型,得到所述图像中的目标的识别结果;其中,所述神经网络模型中的归一化层,用于:对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作,得到所述归一化层的输出数据。
[0131]
进一步可选地,所述归一化层,由并列的批量归一化层和实例归一化层组成;处理器802在对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作时,具体用于:将输入所述归一化层的多通道特征数据中的第一通道数的特征数据以及第二通道数的特征数据,分别输入所述实例归一化层以及所述批量归一化层;基于所述实例归一化层,对所述第一通道数的特征数据进行实例归一化操作,得到第一通道数的输出数据;基于所述批量归一化层,对所述第二通道数的特征数据进行批量归一化操作,得到第二通道数的输出数据。
[0132]
进一步可选地,所述第一通道数以及所述第二通道数,分别为所述归一化层的输出通道数的二分之一。
[0133]
进一步可选地,处理器802在基于所述实例归一化层,对所述第一通道数的特征数据进行实例归一化操作,得到第一通道数的输出数据时,具体用于:在所述实例归一化层中,根据所述实例归一化层对应的实例均值和实例方差,对所述第一通道数的特征数据进行归一化操作,得到所述第一通道数的输出数据;其中,所述实例均值和实例方差,根据输入所述实例归一化层的样本图像实例的特征数据计算得到。
[0134]
进一步可选地,处理器802在基于所述批量归一化层,对所述第二通道数的特征数据进行批量归一化操作,得到第二通道数的输出数据时,具体用于:获取所述批量归一化层对应的批量归一化调节因子;在所述批量归一化层中,批量均值批量方差根据所述批量归一化调节因子、所述批量归一化层的批量均值和批量方差,对所述第二通道数的特征数据
进行批量归一化操作,得到所述第二通道数的输出数据;其中,所述批量均值和批量方差,根据输入所述批量归一化层的样本图像组的特征数据计算得到。
[0135]
进一步可选地,所述神经网络模型还包括:与所述批量归一化层连接的调节因子计算分支;处理器802在获取所述批量归一化层对应的批量归一化调节因子时,具体用于:基于所述调节因子计算分支,利用输入所述调节因子计算分支的特征数据以及预先学习的因子计算参数,计算得到所述批量归一化调节因子;将所述调节因子计算分支输出的所述批量归一化调节因子,输入所述批量归一化层。
[0136]
进一步可选地,输入所述调节因子计算分支的特征数据包括:所述批量归一化层的上游网络层输出的特征数据。
[0137]
进一步可选地,所述上游网络层输出的特征数据,包括:上游指定层级的网络层输出的特征数据,或者,上游多层级的网络层输出的特征数据的融合数据。
[0138]
进一步可选地,处理器802还用于:获取样本图像组,所述样本图像组包含不同环境下拍摄得到的多张图像,所述多张图像各自标注有目标的真值;将所述样本图像组输入所述神经网络模型,并在所述目标的真值的监督下,对所述神经网络模型中待学习的模型参数进行优化;其中,所述神经网络模型中的归一化层的输入为:所述样本图像组的多通道特征数据,所述归一化层用于:基于所述实例归一化层,对所述样本图像组的多通道特征数据中的第一通道数的特征数据进行实例归一化处理,并基于所述批量归一化层,对所述样本图像组的多通道特征数据中的第二通道数的特征数据进行批量归一化处理,得到所述归一化层的输出数据。
[0139]
进一步可选地,所述不同环境下拍摄到的图像,包括:白天环境下拍摄到的图像以及夜晚环境下拍摄到的图像。
[0140]
进一步,如图8所示,该电子设备还包括:通信组件803、显示组件804、电源组件805、音频组件806等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。
[0141]
其中,通信组件803被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
[0142]
其中,显示组件804包括屏幕,其屏幕可以包括液晶显示组件(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0143]
其中,电源组件805,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0144]
本实施例中,神经网络模型中包含归一化层,该归一化层,可对输入归一化层的一
部分特征数据进行实例归一化操作,并对输入的另一部分特征数据进行批量归一化操作。基于这种方式,可利用实例归一化操作,降低图像上的独特性的部分对目标识别过程的影响,以提升神经网络模型对具有不同特征分布的图像的适应能力,同时,利用批量归一化操作,提升神经网络模型对图像特征的辨识能力,进而,可有效增强神经网络模型的泛化性能,使得神经网络模型对多种不同环境下拍摄到的图像均具有较高的目标识别准确率。
[0145]
图8所示的服务器,还可执行如下的目标识别逻辑:处理器802响应客户端对第一接口的调用请求,获取接口参数包含的待处理的图像;将所述图像输入神经网络模型,得到所述图像中的目标的识别结果;所述神经网络模型中的归一化层,用于:对所述归一化层的一部分输入特征数据进行实例归一化操作,对所述归一化层的另一部分输入特征数据进行批量归一化操作,得到所述归一化层的输出数据;将所述识别结果返回至所述客户端。
[0146]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
[0147]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0148]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0149]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0150]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0151]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0152]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0153]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动
态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0154]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0155]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜