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

基于分层选择性Adaboost-DNNs的图像分类模型建立、分类方法及系统与流程

2021-10-29 23:08:00 来源:中国专利 TAG:分类 分层 选择性 模型 图像

基于分层选择性adaboost

dnns的图像分类模型建立、分类方法及系统
技术领域
1.本发明属于计算机视觉技术领域,具体涉及一种基于分层选择性 adaboost

dnns的图像分类模型建立、分类方法及系统。


背景技术:

2.卷积神经网络(cnn)特别是深度神经网络(dnn)在图像识别方面不需要像传统的的图像分类方法一样进行人工特征描述和提取,而是可以自主地学习图像特征,提取更高维、抽象的特征。近几年,2d卷积在图像识别中的应用取得了一些重要的成就。为了实现更好的图像分类性能,已经有很多基于传统机器学习方法和深度学习方法的工作被提出。在2012年,hinton和alex 提出的alexnet后,深度神经网络迎来了快速的发展。vgg、googlenet、resnet 等广泛应用于许多视觉任务中。
3.在大多数传统的神经网络中,所有的图像都需要经历相同的分类过程,很少有神经网络考虑到相同模型下不同图像分类困难的差异。而对于人类来说,不同类型的对象通过不同的过程被识别。人们倾向于根据自己的主客观认知或先验知识,对简单、易于识别的对象快速作出判断。然而,对于相对难识别的对象,人们需要更多的分析和理解,并可能进一步进行信息抽象和知识推理。


技术实现要素:

4.本发明的目的在于提供一种基于分层选择性adaboost

dnns的图像分类模型建立、分类方法及系统,用以解决现有技术中的模型无差异识别问题。
5.为了实现上述任务,本发明采用以下技术方案:
6.一种基于分层选择性adaboost

dnns的图像分类模型建立方法,包括如下步骤:
7.步骤1:获取图像数据集,标注图像数据集中的每张图像的类别获得j个类别,将图像分为第一训练集和第二训练集,并设定第一训练集中每张图像的初始权重为其中,q为第一训练集的图像总数且q为正整数;
8.步骤2:建立hs adaboost

dnns模型,所述的hs adaboost

dnns模型包括m个子网络,m为正整数,将图像数据集的j个类别作为标签集,采用第一训练集、第二训练集和标签集对hs adaboost

dnns模型进行训练,至模型收敛后训练结束,将训练好的hs adaboost

dnns模型作为图像识别预测模型;
9.其中,所述hs adaboost

dnns模型的训练过程包括如下子步骤:
10.步骤2.1:采用当前第一训练集对第m个子网络采用梯度下降方法进行训练,m∈{1,2,...,m},至第m个子网络收敛后训练结束,获得训练好的第m个子网络;
11.对m进行判断:若m<m则执行步骤2.2,若m=m则hs adaboost

dnns 模型训练结束;
12.步骤2.2:将当前第二训练集输入训练好的第m个子网络中,输出当前第二训练集
中第i张图像的预测类别其中,i∈{1,2,...,i},i为第二训练集的图像总数;
13.步骤2.3:根据当前第二训练集第i张图像的预测类别和第二训练集中第i张图像的类别t
i
,进行判断:
14.若第二训练集中的图像满足则当前第二训练集中第i张图像的图像权重采用式1更新为
[0015][0016]
其中,表示当前第二训练集中第j类别中第i张图像的图像权重, j∈{1,2,...,j},中表示更新前第二训练集中第j类别图像的类别权重,当 m=1时,为初始类别权重且初始类别权重为α
m
表示第m个子网络的子网络的权重系数;
[0017]
若第二训练集中的图像满足则当前第二训练集中第i张图像的图像权重采用式2更新为
[0018][0019]
步骤2.4:对当前第二训练集中更新后的图像权重按照类别分别求和,获得当前第m个子网络所有类别的类别权重;
[0020]
步骤2.5:令当前第一训练集中每张图像的图像权重等于当前第m个子网络中其所在类别的类别权重,并令m=m 1返回步骤2.1。
[0021]
进一步的,m=5且五个子网络分别是:alexnet、vgg16、inception v3、 mobilenet v2和resnet

50。
[0022]
进一步的,步骤1中将第一训练集中的图像按照类别划分为多个三元组,每个三元组包括三张图像且三张图像属于两个类别。
[0023]
更进一步的,步骤2在训练时,损失函数l
mcj
为式3:
[0024]
l
mcj
=l
cross
γl
triplet
ꢀꢀꢀ
式3
[0025]
其中,γ是超参数且设置为0.5,l
cross
是带有类别权值交叉熵损失函数, l
triplet
是triplet loss损失函数。
[0026]
一种基于分层选择性adaboost

dnns的图像分类方法,包括如下步骤:
[0027]
步骤一:获取待识别的图像;
[0028]
步骤二:将待识别的图像输入到任一种基于分层选择性adaboost

dnns 的图像分类模型建立方法获得的图像识别预测模型中进行识别,输出图像的类别,其中,识别过程包括如下子步骤:
[0029]
步骤a:待识别的图像输入到第n个子网络中,获得第n个子网络的图像分类结果概率分布,n∈{1,2,...,m};
[0030]
步骤b:根据第n个子网络的图像分类结果概率分布获得第n个子网络的最大分类概率;
[0031]
步骤c:比较第n个子网络的最大分类概率p
n
与第n个子网络的置信度阈值h
n
,若p
n
≥h
n
则执行步骤d;否则,令n=n 1,返回到步骤a,至n=m时执行步骤d;
[0032]
步骤d:获取前n个子网络的最大分类概率和前n个子网络的权重系数,输出前n个子网络最大分类概率与对应权重系数乘积最大值对应的类别。
[0033]
一种基于分层选择性adaboost

dnns的图像分类系统,该系统包括处理器和用于存储能够在处理器上运行的多个功能模块的存储器,所述功能模块包括图像识别预测模型、输入模块和输出模块;
[0034]
所述的图像识别预测模型采用任一种基于分层选择性adaboost

dnns的图像分类模型建立方法获得;
[0035]
所述的输入模块用于获取待识别的图像;
[0036]
所述的输出模块用于将待识别的图像输入图像识别预测模型中进行识别,输出图像的类别,其中,识别过程包括如下子步骤:
[0037]
步骤a:待识别的图像输入到第n个子网络中,获得第n个子网络的图像分类结果概率分布,n∈{1,2,...,m};
[0038]
步骤b:根据第n个子网络的图像分类结果概率分布获得第n个子网络的最大分类概率;
[0039]
步骤c:比较第n个子网络的最大分类概率p
n
与第n个子网络的置信度阈值h
n
,若p
n
≥h
n
则执行步骤d;否则,令n=n 1,返回到步骤a,至n=m时执行步骤d;
[0040]
步骤d:获取前n个子网络的最大分类概率和前n个子网络的权重系数,输出前n个子网络最大分类概率与对应权重系数乘积最大值对应的类别。
[0041]
本发明与现有技术相比具有以下技术特点:
[0042]
(1)本发明提出了一种hs adaboost

dnns的分层集成深度学习模型,该模型可以选择性地使用其不同网络层深度的子网络模块从图像中提取不同层次的视觉特征,并通过相应的子网络模块输出不同图像的分类结果。hsadaboost

dnns可以使用子模块用更少的网络层对容易识别的图像快速识别, 对难以识别的图像需要通过更复杂的子模块。现有的adaboost和神经网络结合方法图像需要通过所有的子网络,造成计算成本不必要的增加。
[0043]
(2)本发明提出一种多类联合损失进行模型训练,减少同一类别样本特征之间的距离,增加不同类别样本特征之间的距离。此外,对整个模型进行端到端的梯度下降训练。
[0044]
(3)本发明在cifar

10、cifar

100和黑猩猩数据集上验证了我们的 hs adaboost

dnns的性能和可扩展性。对比和烧蚀实验结果表明,与现有模型或多个子网络组合相比,hs adaboost

dnns具有明显的性能改进。
附图说明
[0045]
图1为图像分类模型建立方法结构示意图;
[0046]
图2为样本相似性示意图;
[0047]
图3为cifar

10数据集;
[0048]
图4为cifar

100数据集;
[0049]
图5为黑猩猩数据集中遮挡的数据;
[0050]
图6为分类方法流程图。
具体实施方式
[0051]
首先对本发明中出现的技术词语进行解释说明:
[0052]
集成学习(ensemble learning):集成学习本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。机器学习器的种类和个数与进行学习的任务有关。
[0053]
子网络dnns:在本发明中是指通过网络的复杂程度选取的一些常见的分类网络,本发明选用其中五种分别为:alexnet、vgg16、inception v3、mobilenetv2、resnet

50。alexnet包含8个权重层,其中5个卷积层,3个全连接层。 vgg16有13个卷积层,3个全链接层。inception v3通过分解卷积和aggressive 正则来提高模型对局部特征的学习。mobilenet v2采用倒置残差结构,原本的残差结构的主分支是有三个卷积,两个逐点卷积通道数较多,而倒置的残差结构刚好相反,中间的卷积通道数(依旧使用深度分离卷积结构)较多,旁边的较小。resnet

50是添加了残差连接的dnn网络。
[0054]
在本实施例中公开了一种基于分层选择性adaboost

dnns的图像分类模型建立方法,包括如下步骤:
[0055]
步骤1:获取图像数据集,标注图像数据集中的每张图像的类别获得j个类别,将图像分为第一训练集和第二训练集,并设定第一训练集中每张图像的初始权重为其中,q为第一训练集的图像总数且q为正整数;
[0056]
步骤2:建立hs adaboost

dnns模型,所述的hs adaboost

dnns模型包括m个子网络,m为正整数,将图像数据集的j个类别作为标签集,采用第一训练集、第二训练集和标签集对hs adaboost

dnns模型进行训练,至模型收敛后训练结束,将训练好的hs adaboost

dnns模型作为图像识别预测模型;
[0057]
其中,所述hs adaboost

dnns模型的训练过程包括如下子步骤:
[0058]
步骤2.1:采用当前第一训练集对第m个子网络采用梯度下降方法进行训练,m∈{1,2,...,m},至第m个子网络收敛后训练结束,获得训练好的第m个子网络;
[0059]
对m进行判断:若m<m则执行步骤2.2,若m=m则hs adaboost

dnns 模型训练结束;
[0060]
步骤2.2:将当前第二训练集输入训练好的第m个子网络中,输出当前第二训练集中第i张图像的预测类别其中,i∈{1,2,...,i},i为第二训练集的图像总数;
[0061]
步骤2.3:根据当前第二训练集第i张图像的预测类别和第二训练集中第i张图像的类别t
i
,进行判断:
[0062]
若第二训练集中的图像满足则当前第二训练集中第i张图像的图像权重采用式1更新为
[0063][0064]
其中,表示当前第二训练集中第j类别中第i张图像的图像权重, j∈{1,2,...,j},中表示更新前第二训练集中第j类别图像的类别权重,当 m=1时,为初始
类别权重且初始类别权重为α
m
表示第m个子网络的子网络的权重系数;
[0065]
若第二训练集中的图像满足则当前第二训练集中第i张图像的图像权重采用式2更新为
[0066][0067]
步骤2.4:对当前第二训练集中更新后的图像权重按照类别分别求和,获得当前第m个子网络所有类别的类别权重;
[0068]
步骤2.5:令当前第一训练集中每张图像的图像权重等于当前第m个子网络中其所在类别的类别权重,并令m=m 1返回步骤2.1。
[0069]
具体的,所述的初始图像权重为1/q,q为第一训练集图像总数,q为正整数。对于对一个子网络的训练,输入的训练集图像权重为:输入的训练集图像权重为:
[0070]
具体的,所述的初始类别权重为1/j,j为类别总数,j为正整数。
[0071]
具体的,步骤1中将第一训练集中的图像按照类别划分为多个三元组,每个三元组包括三张图像且三张图像属于两个类别。其中,三元组包括一个 anchor样本,一个positive样本和一个negative样本,positive样本是和anchor 样本同一个类的图像,negative样本不是和anchor样本一个类的图像;
[0072]
具体的,其中,ε
m
为第m个子网络的加权错误率。
[0073]
具体的,步骤2在训练时,损失函数l
mcj
为式3:
[0074]
l
mcj
=l
cross
γl
triplet
ꢀꢀꢀ
式3
[0075]
其中,γ是超参数设置为0.5,l
cross
是带有类别权值交叉熵损失函数, l
triplet
是triplet loss损失函数。步骤2中hs adaboost

dnns进行训练时采用的损失函数由两部分组成,即带权重的交叉熵损失函数和triplet loss损失函数,选用这两个损失函数的理由是:
[0076]
hs adaboost

dnns在每一个dnn训练完后会动态的更改类别权重并重新赋值给图像,即通过类别权重影响dnn的训练。其次,本发明中的子网络是常见的深度神经网络,通过triplet loss损失函数将hs adaboost

dnns中不同类的图像进行区分,通过置信度可以容易的将一类中容易识别的图像和困难识别的图像区分,置信度低的图像往往会在两类中划分不明显,反之,图像的置信度高。
[0077][0078]
其中,是第(m 1)个子网络的交叉熵损失,并带有类别权值,是传统的交叉熵损失。
[0079]
将每个样本图像的特征向量映射到一个空间中,该空间中的距离体现样本之间的相似性。即对于a类中的样本图像之间的距离会小于a类样本图像到 b类的样本图像距离。如图2所示。
[0080]
l
triplet
=max(d(f
a
,f

)

d(f
a
,f

) α,0)
[0081]
其中,f
a
表示anchor,f

表示positive是与f
a
是同一类别的图像,f

表示 negative,与f
a
是不同类别的图像。α是一个阈值来准确区分anchor的正负样本。 d表示欧式距离。通过triplet loss损失函数解决以下的三种情况:
[0082]
d(f
a
,f

) α<d(f
a
,f

),这表明,现有的子网络能够准确地对这三个图像样本进行分类;因此,在后续的子网中不需要对其进行过多的关注。
[0083]
d(f
a
,f

)<d(f
a
,f

)<d(f
a
,f

) α,即anchor和negative的距离也相对较近,这三个样本的相似度高,的模型不容易区分,将其定义为模糊样本。模糊样本还需要进一步的判断,模糊样本有进一步发展成困难样本的可能。
[0084]
d(f
a
,f

)<(f
a
,f

),这说明当前的子网络无法区分这些图像样本,后续的子网络需要对其更加抽象的特征进行提取。
[0085]
具体的,步骤2.4中采用式4对更新后的图像权重按照类别分别求和:
[0086][0087]
其中,为第m个子网络第j个类别的权值,为第j个类别中第k个图像的权值,该类别中有k
j
个图像。
[0088]
本实施例还公开了一种基于分层选择性adaboost

dnns的图像分类方法,包括如下步骤:
[0089]
步骤一:获取待识别的图像;
[0090]
步骤二:将待识别的图像输入到任一种基于分层选择性adaboost

dnns 的图像分类模型建立方法获得的图像识别预测模型中进行识别,输出图像的类别,其中,识别过程包括如下子步骤:
[0091]
步骤a:待识别的图像输入到第n个子网络中,获得第n个子网络的图像分类结果概率分布,n∈{1,2,...,m};
[0092]
步骤b:根据第n个子网络的图像分类结果概率分布获得第n个子网络的最大分类概率;
[0093]
步骤c:比较第n个子网络的最大分类概率p
n
与第n个子网络的置信度阈值h
n
,若p
n
≥h
n
则执行步骤d,否则,令n=n 1,返回到步骤a,至n=m时执行步骤d;
[0094]
步骤d:获取前n个子网络的最大分类概率和前n个子网络的权重系数,输出前n个子网络最大分类概率与对应权重系数乘积最大值对应的类别。
[0095]
本实施例还公开了一种基于分层选择性adaboost

dnns的图像分类系统,该系统包括处理器和用于存储能够在处理器上运行的多个功能模块的存储器,所述功能模块包括图像识别预测模型、输入模块和输出模块;
[0096]
所述的图像识别预测模型采用上述任一种基于分层选择性 adaboost

dnns的图像分类模型建立方法获得;
[0097]
所述的输入模块用于获取待识别的图像;
[0098]
所述的输出模块用于将待识别的图像输入图像识别预测模型中进行识别,输出图像的类别,其中,识别过程包括如下子步骤:
[0099]
步骤a:待识别的图像输入到第n个子网络中,获得第n个子网络的图像分类结果概
率分布,n∈{1,2,...,m};
[0100]
步骤b:根据第n个子网络的图像分类结果概率分布获得第n个子网络的最大分类概率;
[0101]
步骤c:比较第n个子网络的最大分类概率p
n
与第n个子网络的置信度阈值h
n
,若p
n
≥h
n
则执行步骤d,否则,令n=n 1,返回到步骤a;
[0102]
步骤d:获取前n个子网络的最大分类概率和前n个子网络的权重系数,输出前n个子网络最大分类概率与对应权重系数乘积最大值对应的类别。
[0103]
具体的,步骤1中需要对图像数据集进行数据预处理所述预处理包括归一化操作和裁剪;首先统一将所有图像裁剪成120*120的大小,其次,我们会对所有数据集中的图像进行归一化的处理,在归一化操作后,所有图像的像素值会在[

1,1]之间。
[0104]
optimization:我们使用adam算法以0.9动量对整个网络进行了30个 epoch的训练,初始学习率为0.01,在第10、20、个时期,学习速率逐渐除以 10。
[0105]
实施例1
[0106]
在本实施例中公开了一种基于分层选择性adaboost

dnns的图像分类模型建立方法,在上述实施例的基础上,还公开了如下技术特征:
[0107]
本实施例采用的图像数据集分别为是cifar

10和cifar

100以及黑猩猩数据集。
[0108]
cifar

10和cifar

100数据集有50000个训练图像和10000个测试图像。每个彩色图像的尺寸为32
×
32像素,cifar

10由10个类构成(飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车)。不同种类之间不存在重复的样本。训练集数据按4:1分配为第一训练集和第二训练集,cifar

100由100个班级组成,有50000张训练图像和10000张测试图像。第一训练集、第二训练集和测试集按照9:1:2进行分配。
[0109]
黑猩猩数据集:
[0110]
数据中的个体来自德国的zoo leipzig和非洲的national park,我们从全部数据集中挑选出至少有5张图像的个体,为每个个体获取适当数量的训练数据。我们保留了数据集中含有光照、面部轮廓不完整和被树枝或者树叶部分遮挡的图像。筛选出52个个体,共2365张图像。图像像素尺寸不一致,我们统一将尺寸转化成120*120。该数据集对于分类识别任务是非常具有挑战性的。
[0111]
在cifar

10数据集上的实验结果
[0112]
在cifar

10数据集上进行了十组实验。在表1中selective adaboost

cnns 显示了不同dnn数量测试结果。每组实验进行20个epoch的加权训练。 selective adaboost

cnns的测试准确性为92.26%。对于集成dnn来说,第一个dnn的训练样本权重设置为1。后续的dnn的训练样本权重根据前一个 dnn的分类结果做出加权更新。这样可以使dnn更有针对性的对难以正确分类的样本进行分类,从而提高了分类的准确性。在adaboost

cnn实验中,只训练了第一个分类器48个时代。对于后续的分类器,只训练全连通层,固定前一相关层(卷积层权值)的权值。adaboost

cnn对cifer

10数据的测试精度达到了81.40%(如表2),而我们的方法要高出10%。此外,我们的综合模型明显高于五个基础网络。selective adaboost

cnns比单个cnn高出 1.46%~13.45%。
[0113]
表1在cifer

10上图像识别的准确性
[0114][0115]
表2与adaboost

cnn准确性对比
[0116] accadaboost

cnn0.8140our0.9226
[0117]
在cifar

100数据集上的实验结果
[0118]
在cifar

100上进行了13次实验,实验结果如表3和表4所示。可以看出,每种dnn和dnn组合的性能不同,这种现象在图4中更容易看到。与表1相似,每种dnn和dnn组合的检验结果见表3,hs adaboost

dnns的测试正确率为78.47%,第一个dnn的训练样本的权值也初始化为1。 cifar

100的图像类别比cifar

10多,图像分类模型要获得比cifar

10更高的图像分类精度难度较大。从表3可以看出,hs adaboost

dnns比mobilenetv2准确率高9.46%,比inception v3准确率高1.72%,在所有信号dnns中表现最好。而在表vi中,hs adaboost

dnns具有与densenet

100 cutmix相似的性能,但hs adaboost

dnns结合了几种浅网络模型。
[0119]
表3在cifer

100上图像识别的准确性
[0120][0121]
表4与其他先进方法的准确度对比
[0122] accwide

resnet 40

20.7473
wide

resnet 40

2 cutmix0.7821densenet

1000.7773densenet

100 cutmix0.7855hs adaboost

dnns0.7847
[0123]
在黑猩猩数据集上的实验结果
[0124]
另外,我们在黑猩猩数据集上进行了9次实验,结果如表5所示。从结果可以看出,hs adaboost

dnns的图像分类准确率最高,达到了74.55%。由于黑猩猩存在大量包含遮挡和侧脸的人脸图像,模型很难获得较高的识别精度。因此,为了避免这些具有挑战性的事实对图像识别模型的不利影响,
[0125]
表5在黑猩猩上图像识别的准确性
[0126][0127][0128]
综上所述,从以上实验结果可以得出以下结论:将图像输入到模型中,hsadaboost

dnns对不同分类难度的图像进行选择性识别,提高了图像识别模型的灵活性和效率。此外,在cifar

10、cifar

100和黑猩猩数据集上验证了该模型的性能和可扩展性。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜