数据增广方法、装置、计算机设备及存储介质与流程

文档序号:30436526发布日期:2022-06-17 20:23阅读:126来源:国知局
数据增广方法、装置、计算机设备及存储介质与流程

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.确定与所述最相近的一张图像对应的目标曝光参数;
29.获取所述目标增广图像对应的所述目标曝光参数下的矩阵关系。
30.在本技术一些实施方式中,所述基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像,包括:
31.获取原始图像和增广图像库中最相近的一张图像的距离;
32.根据所述距离、所述矩阵关系以及预设固定参数,计算对所述原始图像的增广参数;
33.根据所述增广参数,对所述原始图像进行增广,得到原始图像对应的不同曝光参数下的增广图像。
34.在本技术一些实施方式中,所述基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像,采用如下公式:
[0035][0036]
m=αms[0037]
α=exp(-d2/2σ2)
[0038]
其中,d为原始图像和增广图像库中最相近的一张图像的距离,σ为预设固定参数,ms为原始图像对应的不同曝光参数下的矩阵关系,i
(in)
为原始图像,i
(out)
为原始图像对应的不同曝光参数下的增广图像,m为增广参数。
[0039]
在本技术一些实施方式中,所述增广中间参数包括所述原始图像输入预设网络模
型后求导得到的求导值,所述计算对所述原始图像进行增广的增广中间参数,包括:
[0040]
将原始图像输入预设的网络模型,并进行前向处理,得到损失值;
[0041]
对所述损失值进行求导,得到求导值;
[0042]
所述根据所述增广中间参数,生成所述原始图像对应的增广图像,包括:
[0043]
根据所述求导值生成所述原始图像的噪声图像;
[0044]
将所述噪声图像作为原始图像对应的增广图像。
[0045]
另一方面,本技术提供一种数据增广装置,所述数据增广装置包括:
[0046]
获取模块,用于获取采集的原始图像;
[0047]
计算模块,用于计计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;
[0048]
生成模块,用于根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0049]
在本技术一些实施方式中,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,所述计算模块具体用于:
[0050]
获取所述原始图像在预设不同曝光参数下的增广图像,得到增广图像库;
[0051]
根据所述增广图像库,确定所述原始图像对应的不同曝光参数下的矩阵关系。
[0052]
在本技术一些实施方式中,所述计算模块具体用于:
[0053]
对所述增广图像库中图像,确定每张图像在不同曝光参数下的图像;
[0054]
分别确定所述增广图像库中每张图像和该图像在不同曝光参数下的图像的映射关系;
[0055]
根据各所述映射关系确定所述增广图像库中与所述原始图像最相近的一张图像,确定所述原始图像对应的不同曝光参数下的矩阵关系;
[0056]
所述生成模块具体用于:
[0057]
基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像。
[0058]
在本技术一些实施方式中,所述计算模块具体用于:
[0059]
分别以所述增广图像库中每一张图像为目标增广图像,将所述目标增广图像的像素值映射为预设维度的像素值,所述预设维度比所述目标增广图像的像素值的维度高;
[0060]
在所述目标增广图像的像素值映射为预设维度的像素值后,确定所述所目标增广图像和该图像在不同曝光参数下的图像的映射关系;
[0061]
根据所述映射关系,确定所述目标增广图像变换为预设维度的像素值之后的图像矩阵;
[0062]
对所述图像矩阵最小化变化得到所述目标增广图像对应的不同曝光参数下的矩阵关系。
[0063]
在本技术一些实施方式中,所述计算模块具体用于:
[0064]
计算所述目标增广图像与所述增广图像库中的图像的颜色分布的距离;
[0065]
确定所述增广图像库中与所述目标增广图像颜色分布的距离最近的图像为最相近的一张图像;
[0066]
确定与所述最相近的一张图像对应的目标曝光参数;
[0067]
获取所述目标增广图像对应的所述目标曝光参数下的矩阵关系。
[0068]
在本技术一些实施方式中,所述计算模块具体用于:
[0069]
获取原始图像和增广图像库中最相近的一张图像的距离;
[0070]
根据所述距离、所述矩阵关系以及预设固定参数,计算对所述原始图像的增广参数;
[0071]
根据所述增广参数,对所述原始图像进行增广,得到原始图像对应的不同曝光参数下的增广图像。
[0072]
在本技术一些实施方式中,所述计算模块具体用于在基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像时采用如下公式:
[0073][0074]
m=αms[0075]
α=exp(-d2/2σ2)
[0076]
其中,d为原始图像和增广图像库中最相近的一张图像的距离,σ为预设固定参数,ms为原始图像对应的不同曝光参数下的矩阵关系,i
(in)
为原始图像,i
(out)
为原始图像对应的不同曝光参数下的增广图像,m为增广参数。
[0077]
在本技术一些实施方式中,所述增广中间参数包括所述原始图像输入预设网络模型后求导得到的求导值,所述所述计算模块具体用于:
[0078]
将原始图像输入预设的网络模型,并进行前向处理,得到损失值;
[0079]
对所述损失值进行求导,得到求导值;
[0080]
所述生成模块具体用于:
[0081]
根据所述求导值生成所述原始图像的噪声图像;
[0082]
将所述噪声图像作为原始图像对应的增广图像。
[0083]
另一方面,本技术还提供一种计算机设备,所述计算机设备包括:
[0084]
一个或多个处理器;
[0085]
存储器;以及
[0086]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现第一方面中任一项所述的数据增广方法。
[0087]
第四方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的数据增广方法中的步骤。
[0088]
本技术通过获取采集的原始图像;计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;根据所述增广中间参数,生成所述原始图像对应的增广图像。本技术在现有技术传统的数据增广方法对丰富训练样本多样性作用有限的基础之上,通过计算对原始图像进行增广的增广中间参数,例如原始图像对应的不同曝光参数下的矩阵关系,或/且,原始图像输入预设网络模型后求导得到的求导值,来生成原始图像对应的增广图像,丰富了训练样本的多样性,进而提高后期训练网络模型后分类的准确率。
附图说明
[0089]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0090]
图1是本技术实施例提供的数据增广系统的场景示意图;
[0091]
图2是本技术实施例中提供的数据增广方法的一个实施例流程示意图;
[0092]
图3是本技术实施例中步骤202的一个实施例流程示意图;
[0093]
图4是本技术实施例中步骤302的一个实施例流程示意图;
[0094]
图5是本技术实施例中提供的数据增广装置的一个实施例结构示意图;
[0095]
图6是本技术实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
[0096]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0097]
在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0098]
在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
[0099]
需要说明的是,本技术实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据或信息的形式存在,以便计算机设备进行处理,具体此处不作赘述。
[0100]
下面首先对本技术实施例中涉及的一些基础概念进行介绍,具体如下:
[0101]
one-hot编码:又称为一位有效编码,主要是采用n位状态寄存器来对n个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。one-hot编码是分
类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。
[0102]
batch:batch大小是一个超参数,用于定义在更新内部模型参数之前要处理的样本数。将批处理视为循环迭代一个或多个样本并进行预测。在批处理结束时,将预测与预期输出变量进行比较,并计算误差。从该错误中,更新算法用于改进模型,例如沿误差梯度向下移动。训练数据集可以分为一个或多个batch。当所有训练样本用于创建一个batch时,学习算法称为批量梯度下降。当批量是一个样本的大小时,学习算法称为随机梯度下降。当批量大小超过一个样本且小于训练数据集的大小时,学习算法称为小批量梯度下降。
[0103]
本技术实施例提供一种数据增广方法、装置、计算机设备及存储介质,以下分别进行详细说明。
[0104]
请参阅图1,图1为本技术实施例所提供的数据增广系统的场景示意图,该数据增广系统可以包括计算机设备100,计算机设备100中集成有数据增广装置,如图1中的计算机设备。
[0105]
本技术实施例中计算机设备100主要用于获取采集的原始图像;计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0106]
本技术实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloud computing)的大量计算机或网络服务器构成。
[0107]
可以理解的是,本技术实施例中所使用的终端100可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的终端100具体可以是台式终端或移动终端,终端100具体还可以是手机、平板电脑、笔记本电脑等中的一种。
[0108]
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本技术方案一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该数据增广系统还可以包括一个或多个其他服务,具体此处不作限定。
[0109]
另外,如图1所示,该数据增广系统还可以包括存储器200,用于存储数据,如存储数据,例如采集的原始图像,原始图像对应的增广图像等。
[0110]
需要说明的是,图1所示的数据增广系统的场景示意图仅仅是一个示例,本技术实施例描述的数据增广系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着数据增广系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0111]
首先,本技术实施例中提供一种数据增广方法,该数据增广方法的执行主体为数
据增广装置,该数据增广装置应用于计算机设备,该数据增广方法包括:获取采集的原始图像;计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0112]
如图2所示,为本技术实施例中数据增广方法的一个实施例流程示意图,该数据增广方法包括如下步骤201~203:
[0113]
201、获取采集的原始图像。
[0114]
其中,原始图像可以是与计算机设备通信连接的各种拍摄装置拍摄的,以物流领域为例,物流网点中设置有各种拍摄装置,用于拍摄传输装置(如传送带,传送板等)、分拣装置预设区域的图像,该拍摄的图像可以为采集的原始图像。可以理解的是,该采集的原始图像也可以是计算机设备通过网络方式采集的图像,或者接收其他计算机设备发送的图像,具体此处不作限定。
[0115]
202、计算对所述原始图像进行增广的增广中间参数。
[0116]
其中,增广参数是能直接用于对原始图像进行增广的参数,增广参数对应实际的增广操作,例如放大,缩小等,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数不对应实际的增广操作,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值。
[0117]
203、根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0118]
本技术实施例通过获取采集的原始图像;计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;根据所述增广中间参数,生成所述原始图像对应的增广图像。本技术实施例在现有技术传统的数据增广方法对丰富训练样本多样性作用有限的基础之上,通过计算对原始图像进行增广的增广中间参数,例如原始图像对应的不同曝光参数下的矩阵关系,或/且,原始图像输入预设网络模型后求导得到的求导值,来生成原始图像对应的增广图像,丰富了训练样本的多样性,进而提高后期训练网络模型后分类的准确率。
[0119]
本技术实施例中,增广中间参数有多种,对应的,步骤202中计算对所述原始图像进行增广的增广中间参数的方式也有多种,下面举例进行说明。
[0120]
(1)所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,本方案中具体即是手动白平衡的数据增广方法,用于模拟相机成像的过程,生成类似相机正常拍摄时出现的效果图像,手动白平衡的数据在于生成同步曝光参数情况下的数据,此时,如图3所示,步骤202中所述计算对所述原始图像进行增广的增广中间参数,具体可以包括如下步骤301~302:
[0121]
301、获取所述原始图像在预设不同曝光参数下的增广图像,得到增广图像库。
[0122]
其中,预设不同曝光参数可以预先设置好,在一种具体实施方式中,预设不同曝光参数可以包括如下5种曝光参数:2850k、3800k、5500k、6500k、7500k等。
[0123]
获取所述原始图像在预设不同曝光参数下的增广图像,可以得到增广图像库,例如获取原始图像下在2850k、3800k、5500k、6500k、7500k等曝光参数下的不同效果图像,每张原始图像对应生成5张增广图像,则最后得到总共6张图像,需要说明的是,增广图像库中包括原始图像和在预设不同曝光参数下的增广图像,例如原始图像为2000张,生成的增广图像为10000张,增广图像库中总共12000张图像。
[0124]
302、根据所述增广图像库,确定所述原始图像对应的不同曝光参数下的矩阵关系。
[0125]
具体的,如图4所示,所述步骤302根据所述增广图像库,确定所述原始图像对应的不同曝光参数下的矩阵关系,可以进一步包括:
[0126]
401、对所述增广图像库中图像,确定每张图像在不同曝光参数下的图像。
[0127]
402、分别确定所述增广图像库中每张图像和该图像在不同曝光参数下的图像的映射关系。
[0128]
403、根据各所述映射关系确定所述增广图像库中与所述原始图像最相近的一张图像,确定所述原始图像对应的不同曝光参数下的矩阵关系。
[0129]
其中,所述根据所述增广中间参数,生成所述原始图像对应的增广图像,可以包括:基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像。
[0130]
在本技术一些实施方式中,所述分别确定所述增广图像库中每张图像和该图像在不同曝光参数下的图像的映射关系,包括:分别以所述增广图像库中每一张图像为目标增广图像,将所述目标增广图像的像素值映射为预设维度的像素值;在所述目标增广图像的像素值映射为预设维度的像素值后,确定所述所目标增广图像和该图像在不同曝光参数下的图像的映射关系。
[0131]
此时,所述根据各所述映射关系确定所述增广图像库中与所述原始图像最相近的一张图像,确定所述原始图像对应的不同曝光参数下的矩阵关系,包括:根据所述映射关系,确定所述目标增广图像变换到预设维度上像素值之后的图像矩阵;对所述图像矩阵最小化变化得到所述目标增广图像对应的不同曝光参数下的矩阵关系。
[0132]
具体的,将所述目标增广图像的像素值映射为预设维度的像素值,其中,目标增广图像的像素值为三维,即包括三个参数r、g、b,预设的维度为高于三维的维度,即可以包括除r、g、b参数之外更多维度的参数,例如,采用的方式可以是将目标增广图像[r,g,b]映射到更高维度上[r,g,b,rg,rb,gb,r2,g2,b2](9维)。
[0133]
在本技术一些实施方式中,所述对所述图像矩阵最小化变化得到所述目标增广图像对应的不同曝光参数下的矩阵关系,包括:计算所述目标增广图像与所述增广图像库中的图像的颜色分布的距离;确定所述增广图像库中与所述目标增广图像颜色分布的距离最近的图像为最相近的一张图像;确定与所述最相近的一张图像对应的目标曝光参数;获取所述目标增广图像对应的所述目标曝光参数下的矩阵关系。
[0134]
具体的,计算所述目标增广图像与所述增广图像库中的图像的颜色分布的距离;确定所述增广图像库中与所述目标增广图像颜色分布的距离最近的图像为最相近的一张图像,距离最小则最相近;取出最相近的一张图像对应的曝光参数下的矩阵。
[0135]
由于增广图像库中的图像和所述目标增广图像均是图像矩阵表示,它们对应的矩阵即表示图像的颜色分布,所述增广图像库中图像与所述目标增广图像颜色分布的距离,
即表示它们对应的图像矩阵的距离运算,所有运算距离的最最小化变化(即取最小值),即可确定所述最相近的一张图像。
[0136]
具体的,对所述图像矩阵最小化变化得到所述目标增广图像对应的不同曝光参数下的矩阵关系如下:
[0137][0138]
其中,i
t
、分别为图像的3
×
n的颜色矩阵(3表示rgb,n表示像素个数),t表示不同曝光参数,为3
×
9的非线性矩阵,为变换为预设维度的像素值之后的映射关系,最小化这个变换后的映射关系(即取增广图像库中图像与所述目标增广图像颜色分布的最小距离),就可以得到矩阵。
[0139]
在本技术一些实施方式中,所述基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像,包括:获取原始图像和增广图像库中最相近的一张图像的距离;根据所述距离、所述矩阵关系以及预设固定参数,计算对所述原始图像的增广参数;根据所述增广参数,对所述原始图像进行增广,得到原始图像对应的不同曝光参数下的增广图像。
[0140]
具体的,所述基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像,采用如下公式:
[0141][0142]
m=αms[0143]
α=exp(-d2/2σ2)
[0144]
其中,d为原始图像和增广图像库中最相近的一张图像的距离,σ为预设固定参数,ms为原始图像对应的不同曝光参数下的矩阵关系,i
(in)
为原始图像,i
(out)
为原始图像对应的不同曝光参数下的增广图像,m为计算的增广参数。
[0145]
深度学习中分类网络作为一个应用场景最广的网络而存在,目前已有的分类网络种类繁多,且都分布在网上的不同的git上,没有一个通用的平台集合到大部分的分类网络。一般深度学习网络都包括基础网络和对应的功能网络,基础网络提取出特征,功能网络进行对应的处理,基础网络一般可以通用,后面可以接不同的功能网络,例如分类网络,图像分割网络等,集成大部分的分类网络到一个平台上的益处在于能够降低算法人员对于不同网络的尝试成本,并以最快的速度确定分类网络的基础网络,提供算法落地业务的速度。
[0146]
本技术实施例中,可以通过参数配置的形式,将基础网络配置好。基础网络方面完成了efficient net b0-b7、resnet50、resnet101、resnext、resnest、seresnet、mobilenet v2、darknet、hrnet、vgg、shuffle net等各种不同的网络配置后,后面可以通过配置不同参数的方式进行基础网络的调用。
[0147]
完成网络选型和数据增广之后,要想得到较好的网络,还需要对网络训练进行调优。本技术实施例中设计了一套网络调优的策略,主要创新点在于对于loss(损失函数)设计这块,设计加入了cross entropy loss、arc face loss、focal loss、label smoothing、smoothing loss、circle loss、am softmax loss等各种损失函数,对于这些损失函数都可采用一键参数配置的方式进行调用。
[0148]
label smoothing(标签平滑)是一种在分类问题中,防止过拟合的常见方法。进一
步的,本技术实施例中可以对label smoothing进行改造,使之能够适应上面提到的所有的类型的损失函数,当调用上面的损失函数的时候,可以配置是否加载label smoothing,从而同时拉起两个损失函数对一个训练任务的优化。
[0149]
对于分类问题,在最后损失函数计算的时候往往会先把label(标签)转成one hot编码的形式。
[0150]
对于采用one hot编码的形式进行分类的时候容易产生的问题在于,1)无法保证模型的泛化能力,容易造成过拟合;2)全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,而由梯度有界可知,这种情况很难适应。会造成模型过于相信预测的类别。
[0151]
label smoothing通过改造one hot编码来实现对于标签的软化,增强网络的泛化能力。例如,标准的crosss entropy loss损失函数如下:
[0152]-y[ylogp+(1-y)log(1-p)]
[0153]
其中,y为预测值,label smoothing优化在于对于概率p,p为ground truth,值为0或者1;label smoothing对p进行改造变成了p=1-ε和ε,ε为预设的固定参数(可以基于实际应用场景预先确定),从而使得当样本结果是某一类时,其他类的信息能够得到补偿,从而软化标签信息。
[0154]
本技术实施例设计了一套可以参数化调用分类网络、参数化调用数据增广策略、参数化调用不同的优化策略的系统,一套可以让用户自主去自定义网络设计和优化的网络的算法平台,其优势在于可以降低算法工程师对不同分类网络的尝试时间、提高算法在不同业务的落地。
[0155]
(2)所述增广中间参数包括所述原始图像输入预设网络模型后求导得到的求导值,步骤202中所述计算对所述原始图像进行增广的增广中间参数,可以进一步包括如下:将原始图像输入预设的网络模型,并进行前向处理,得到损失值;对所述损失值进行求导,得到求导值;
[0156]
此时,所述根据所述增广中间参数,生成所述原始图像对应的增广图像,包括:根据所述求导值生成所述原始图像的噪声图像;将所述噪声图像作为原始图像对应的增广图像。
[0157]
本技术实施例一个创新之处在于设计并增加了两种对抗样本生成训练样本的方法,用于提高网络对于异常场景的识别准确率。当输入受到扰动时图像表象并没有过大的变化,但是模型输出确具有高置性度的错误答案,这种情况的出现会导致网络的准确率下降。但是从网络的层面进行设计难以达到对这部分数据的准确判定,因此需要引入对抗样本生成的方法,来生成扰动数据并进行训练,提高网络对于该类数据的准确率。完成对于deepfool、stepll、fgsm、cw算法等对抗样本方法的加入平台,以及参数化进行调用。
[0158]
其中,deepfool是一种经典的对抗攻击方式,它首次对样本鲁棒性和模型鲁棒性镜进行了定义,而且它能够精确计算深度分类器对大规模数据集扰动,从而可靠地量化分类器的鲁棒性。fgsm的全称是fast gradient sign method(快速梯度下降法),在白盒环境下,通过求出模型对输入的导数,然后用符号函数得到其具体的梯度方向,接着乘以一个步长,得到的“扰动”加在原来的输入上就得到了在fgsm攻击下的样本。stepll全称为single-step least-likely class method,也是单步的攻击方法,与fgsm方法中增大图像与真实标签之间的距离不同,该方法是约束图像与分类概率最低的类别之间的距离。
[0159]
cw算法通常被认为是攻击能力最强的白盒攻击算法之一,同时也是一种基于优化的对抗样本生成算法。大多数文献将其归类为是基于梯度的攻击算法,和deepfool,fgsm同为一类。而实际上它是一种基于优化的对抗样本生成算法。cw算法的创新之处在于对损失函数(目标函数)的定义上。在定向攻击的过程中,目标函数经常使用交叉熵,迭代优化的过程就是不断减少目标函数的过程。
[0160]
对抗样本生成方法通常在于解决以下问题:
[0161][0162]
其中δ为扰动、s为扰动空间、x为训练的输入数据、y为训练的输出结果(label)、l(θ,x,y)为神经网络模型的损失函数、d为训练数据的样本分布,θ为神经网络模型的整体参数(或者神经网络模型的参数集合),ρ(θ)为整体目标函数,表示为对最里层的目标函数取最小值。
[0163]
最里层的目标函数是无目标标签攻击者的目标函数,它的物理意义在于寻找合适的δ使得损失函数在(x+δ,y)这个样本点上的函数越大越好,这样才能让神经网络模型在它自己正确的标签上的损失特别大,从而导致正确标签对应的逻辑回归值很小,外层的min函数表示标准训练结果为损失值最小化。
[0164]
其中,对抗样本生成的基本步骤为:
[0165]
a、将训练图像送入网络,并进行前向;
[0166]
b、计算前向得到的损失值;
[0167]
c、对前向的损失值进行求导,根据求导的结果并采用一些预设噪声图像生成算法生成一张噪声图像;
[0168]
d、将训练的原始图像加上噪声图像,生成新的图像开始正常的训练。
[0169]
本技术设计了两种噪声图像生成的方法,具体如下:
[0170]
(1)设计并实现的对抗样本生成方法一:设计一套迭代生成噪声图像的方法,迭代次数需要提前设置,具体方式采用如下公式实现:
[0171][0172]
其中,t为迭代次数,表示对损失值进行求导,∏
x+s
表示投影函数,α为预设固定值,本技术实施例中优选的,取2/255;每次迭代生成的噪声会加上上次训练数据(其中第一次生成的噪声会直接加上原始训练的图像,生成的数据需要进行截断,将数据保持在原始的数据分布中,将截断后的数据作为新的训练数据)都会送入到网络里面重新求解损失值,然后根据损失值再生成新的噪声,经过多次的迭代,可以生成非线性的扰动噪声图像。
[0173]
(2)方法二是基于方法(1)的改造:
[0174][0175]
其中,e表示取均值,和上一个版本的差异之处在于对梯度的计算这块,在进行迭代过程中,需要对每次的梯度求取均值,然后结合均值来计算扰动。因为对每次计算的梯度进行了求均值,相当于均衡化了每次迭代的噪声,从而优化了噪声的生成,最终实验结果表明效果较方法一好。
[0176]
同样的,本实施例中要想得到较好的网络,还需要对网络训练进行调优。本技术实施例中设计了一套网络调优的策略,主要创新点在于对于损失函数设计这块。设计加入了cross entropy loss、arc face loss、focal loss、label smoothing、smoothing loss、circle loss、am softmax loss等损失函数,对于这些损失函数都可采用一键参数配置的方式进行调用;
[0177]
一般来说,大型深度神经网络是非常强大的,但其损耗巨大的内存以及对对抗样本的敏感性一直不太理想。而mixup是一个简单地减缓两种问题的方案。本质上,mixup在成对样本及其标签的凸组合(convex combinations)上训练神经网络。这样做,mixup规范神经网络增强了训练样本之间的线性表达。研究结果表明,mixup可以改进当前最先进的神经网络架构的泛化能力,另外mixup能够减少对错误标签的记忆,增加对抗样本的鲁棒性,并能够稳定对生成对抗网络的训练过程。进一步的,本技术实施例对通过多网络的mix up进行改造,使之能够适应上面提到的所有的损失函数,当调用上面的损失函数的时候,可以配置是否加载mix up,从而拉起训练任务的优化。
[0178]
通用的mix up使用的步骤在于:
[0179]
(1)取一个batch的数据,即一个图像;
[0180]
(2)取顺序的batch和倒序的batch进行一一组合,得到两个图像,应用到上面的公式中的i、j,两个图像对应(xi,yi),(xj,yj);
[0181]
(3)使用随机生成器生成λ,λ取值(0,1),随机取值,根据如下公式,生成新的batch的图像,即mix up融合后图像
[0182][0183][0184]
(4)对于标签label进行软化,软化的方法在于,首先将label变换成one hot vector(one hot向量)的形式,然后顺序和倒序排列,并按照公式生成新的one hot vector的标签结果;
[0185]
(5)将新生成的图像送入网络,进行前向,并根据新生成的one hot vector来求解损失值;
[0186]
本技术实施例另一个创新点在于,1.原始图像不做改变,而对网络最后一层损失值采用上面公式的方式进行计算,最后进行损失值的求解。2.集成mix up做成一种通用的基础组件,当调用其他的损失值函数设计方法时,可以同步调用该方法来进行网络的优化。
[0187]
需要说明的是,本技术实施例中,所述增广中间参数还可以同时包括所述原始图像对应的不同曝光参数下的矩阵关系,和所述原始图像输入预设网络模型后求导得到的求导值,此时最终得到的增广图像中,既包括用于模拟相机成像的过程,生成类似相机正常拍摄时出现的效果图像,也包括通过对抗样本生成方法生成的扰动噪声图像时,可以提高神经网络图像的识别能力和泛化性能。
[0188]
本技术实施例中可以参数化调用分类网络、参数化调用数据增广策略、参数化调用不同的优化策略的系统,一套可以让用户自主去自定义网络设计和优化的网络的算法平台。其优势在于可以降低算法工程师对不同分类网络的尝试时间、提高算法在不同业务的
落地。
[0189]
需要说明的,本技术实施例中仅举例了上述两种数据增广方式,可以理解的是,还可以包括其他更多的数据方式,例如更多常规的数据增广方式,具体的,如为了对数据进行增广,用于提高网络的准确率以及网络的泛化性能;数据增广的方法加入了图像级(颠倒、旋转、裁剪等)和像素级(加、减、乘、模糊、对比度增强、噪声等)以及drop方法(像素随机drop、图像块drop等)的增广方法,对原始图像进行数据增广,具体此处不作限定。
[0190]
为了更好实施本技术实施例中数据增广方法,在数据增广方法基础之上,本技术实施例中还提供一种数据增广装置,如图5所示,所述数据增广装置500包括获取模块501、计算模块502和生成模块503,具体如下:
[0191]
获取模块501,用于获取采集的原始图像;
[0192]
计算模块502,用于计计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;
[0193]
生成模块503,用于根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0194]
本技术实施例中通过获取模块501获取采集的原始图像;计算模块502计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;生成模块503根据所述增广中间参数,生成所述原始图像对应的增广图像。本技术在现有技术传统的数据增广方法对丰富训练样本多样性作用有限的基础之上,通过计算对原始图像进行增广的增广中间参数,例如原始图像对应的不同曝光参数下的矩阵关系,或/且,原始图像输入预设网络模型后求导得到的求导值,来生成原始图像对应的增广图像,丰富了训练样本的多样性,进而提高后期训练网络模型后分类的准确率。
[0195]
在本技术一些实施方式中,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,所述计算模块502具体用于:
[0196]
获取所述原始图像在预设不同曝光参数下的增广图像,得到增广图像库;
[0197]
根据所述增广图像库,确定所述原始图像对应的不同曝光参数下的矩阵关系。
[0198]
在本技术一些实施方式中,所述计算模块502具体用于:
[0199]
对所述增广图像库中图像,确定每张图像在不同曝光参数下的图像;
[0200]
分别确定所述增广图像库中每张图像和该图像在不同曝光参数下的图像的映射关系;
[0201]
根据各所述映射关系确定所述增广图像库中与所述原始图像最相近的一张图像,确定所述原始图像对应的不同曝光参数下的矩阵关系;
[0202]
所述生成模块503具体用于:
[0203]
基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像。
[0204]
在本技术一些实施方式中,所述计算模块502具体用于:
[0205]
分别以所述增广图像库中每一张图像为目标增广图像,将所述目标增广图像的像素值映射为预设维度的像素值;
[0206]
在所述目标增广图像的像素值映射为预设维度的像素值后,确定所述所目标增广图像和该图像在不同曝光参数下的图像的映射关系;
[0207]
根据所述映射关系,确定所述目标增广图像变换为预设维度的像素值之后的图像矩阵;
[0208]
对所述图像矩阵最小化变化得到所述目标增广图像对应的不同曝光参数下的矩阵关系。
[0209]
在本技术一些实施方式中,所述计算模块502具体用于:
[0210]
计算所述目标增广图像与所述增广图像库中的图像的颜色分布的距离;
[0211]
确定所述增广图像库中与所述目标增广图像颜色分布的距离最近的图像为最相近的一张图像;
[0212]
确定与所述最相近的一张图像对应的目标曝光参数;
[0213]
获取所述目标增广图像对应的所述目标曝光参数下的矩阵关系。
[0214]
在本技术一些实施方式中,所述计算模块具体用于:
[0215]
获取原始图像和增广图像库中最相近的一张图像的距离;
[0216]
根据所述距离、所述矩阵关系以及预设固定参数,计算对所述原始图像的增广参数;
[0217]
根据所述增广参数,对所述原始图像进行增广,得到原始图像对应的不同曝光参数下的增广图像。
[0218]
在本技术一些实施方式中,所述计算模块具体用于在基于所述矩阵关系生成所述原始图像对应的不同曝光参数下的增广图像时采用如下公式:
[0219][0220]
m=αms[0221]
α=exp(-d2/2σ2)
[0222]
其中,d为原始图像和增广图像库中最相近的一张图像的距离,σ为预设固定参数,ms为原始图像对应的不同曝光参数下的矩阵关系,i
(in)
为原始图像,i
(out)
为原始图像对应的不同曝光参数下的增广图像。
[0223]
在本技术一些实施方式中,所述增广中间参数包括所述原始图像输入预设网络模型后求导得到的求导值,所述所述计算模块502具体用于:
[0224]
将原始图像输入预设的网络模型,并进行前向处理,得到损失值;
[0225]
对所述损失值进行求导,得到求导值;
[0226]
所述生成模块503具体用于:
[0227]
根据所述求导值生成所述原始图像的噪声图像;
[0228]
将所述噪声图像作为原始图像对应的增广图像。
[0229]
本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种数据增广装置,所述计算机设备包括:
[0230]
一个或多个处理器;
[0231]
存储器;以及
[0232]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述数据增广方法实施例中任一实施例中所述的数据增广方法
中的步骤。
[0233]
本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种数据增广装置。如图6所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:
[0234]
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0235]
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
[0236]
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
[0237]
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0238]
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0239]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
[0240]
获取采集的原始图像;
[0241]
计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;
[0242]
根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0243]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0244]
为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种数据增广方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
[0245]
获取采集的原始图像;
[0246]
计算对所述原始图像进行增广的增广中间参数,所述增广中间参数用于基于预设的增广条件下生成的对所述原始图像进行增广的中间参数,所述增广中间参数包括所述原始图像对应的不同曝光参数下的矩阵关系,或/且,所述原始图像输入预设网络模型后求导得到的求导值;
[0247]
根据所述增广中间参数,生成所述原始图像对应的增广图像。
[0248]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0249]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0250]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0251]
以上对本技术实施例所提供的一种数据增广方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1