图像分类模型的训练方法及图像分类方法转让专利
申请号 : CN202111459523.9
文献号 : CN113869464B
文献日 : 2022-03-18
发明人 : 刘国清 , 杨广 , 王启程 , 郑伟 , 张孟华 , 杨国武
申请人 : 深圳佑驾创新科技有限公司
摘要 :
权利要求 :
1.一种图像分类模型的训练方法,其特征在于,所述图像分类模型的训练方法包括:将第一图像划分为若干子集,其中,所述第一图像为有标签图像;
构建若干合集,其中,所述若干合集的数量与所述若干子集的数量相同,每一所述合集包括一一对应的验证集和训练集,每一所述合集中,所述验证集为所述若干子集中的一个子集,所述训练集包括第二图像集和所述若干子集中的其余子集,所述第二图像集中的第二图像为无标签图像;
将若干所述训练集一一对应地输入若干对学生网络和教师网络,并获取相应的输出结果,其中,所述学生网络和教师网络的对数和所述训练集的数量相同;
根据所述输出结果更新所述学生网络的第一参数和所述教师网络的第二参数,对所述若干对学生网络和教师网络进行迭代训练直至训练结束;
每次所述学生网络的第一参数更新之后,将相对应的所述验证集中的第一图像输入所述学生网络并获取相应的验证结果,并根据所述验证结果选取最优学生网络;以及将若干所述最优学生网络作为图像分类模型,其中,若干所述最优学生网络的数量与所述合集的数量相同。
2.如权利要求1所述的图像分类模型的训练方法,其特征在于,将若干所述训练集一一对应地输入若干对学生网络和教师网络,并获取相应的输出结果具体包括:将同一所述训练集的每一第一图像输入所述学生网络并获取相应的第一学生结果;以及
将同一所述训练集的每一第二图像分别输入所述学生网络和所述教师网络并获取相对应的第二学生结果和第二教师结果。
3.如权利要求2所述的图像分类模型的训练方法,其特征在于,所述第一图像包括第一原始标签,根据所述输出结果更新所述学生网络的第一参数和所述教师网络的第二参数具体包括:
根据所述第一学生结果和所述第一原始标签构建第一损失;
根据所述第二学生结果和第二教师结果构建第二损失;以及根据所述第一损失和所述第二损失更新所述学生网络的第一参数和所述教师网络的第二参数。
4.如权利要求3所述的图像分类模型的训练方法,其特征在于,根据所述第一学生结果和所述第一原始标签构建第一损失具体包括:计算相对应的第一学生结果和第一原始标签的交叉熵;以及将同一所述训练集所对应的所有交叉熵的平均值作为所述第一损失。
5.如权利要求3所述的图像分类模型的训练方法,其特征在于,根据所述第二学生结果和第二教师结果构建第二损失具体包括:计算相对应的第二学生结果和第二教师结果的均方误差;以及将同一所述训练集所对应的所有均方误差的平均值作为所述第二损失。
6.如权利要求3所述的图像分类模型的训练方法,其特征在于,根据所述第一损失和所述第二损失更新所述学生网络的第一参数和所述教师网络的第二参数具体包括:利用所述第一损失和所述第二损失计算总损失;
利用梯度下降法根据所述总损失更新所述学生网络的第一参数;以及利用滑动平均法根据所述学生网络的第一参数更新所述教师网络的第二参数。
7.如权利要求1所述的图像分类模型的训练方法,其特征在于,所述第一图像包括第一原始标签,根据所述验证结果选取最优学生网络具体包括:根据所述验证结果和所述第一原始标签计算相对应的学生网络的准确率;以及选取准确率最高的学生网络作为所述最优学生网络。
8.一种图像分类方法,其特征在于,所述图像分类方法包括:将目标图像输入图像分类模型并获取分类结果,其中,所述图像分类模型由如权利要求1至7中任一项所述的图像分类模型的训练方法训练得到,所述图像分类模型包括若干子模型,将目标图像输入图像分类模型并获取分类结果具体包括:将所述目标图像分别输入每一所述子模型并获取相应的子结果;以及根据所述子结果得到所述分类结果。
9.如权利要求8所述的图像分类方法,其特征在于,根据所述子结果得到所述分类结果具体包括:
统计所述子结果中相同子结果的数量;以及选取相同子结果数量最多的子结果作为所述分类结果。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序指令,所述程序指令可被处理器执行以实现如权利要求1至7中任一项所述的图像分类模型的训练方法。
说明书 :
图像分类模型的训练方法及图像分类方法
技术领域
背景技术
避免了传统图像分类算法中复杂的特征提取过程,实现了端到端的分类检测。现有的基于
深度神经网络的图像分类算法包括有监督算法和无监督算法。其中,有监督算法利用标注
数据进行训练,但是数据的标注需要耗费大量人力和时间;无监督算法利用无标注数据进
行训练,但是训练得到的模型准确率不高。
发明内容
子集中的其余子集,所述第二图像集中的第二图像为无标签图像;
像输入图像分类模型并获取分类结果具体包括:
练方法。
练集,分别用于训练若干对学生网络和教师网络。再利用与训练集相对应的验证集选取最
优学生网络作为图像分类模型,通过半监督深度学习的方法,能够在有标签图像数量不多
的情况下,利用数量更多的无标签图像,一起训练一个效果良好的图像分类模型,从而能够
有效解决有标签图像数量小导致图像分类模型准确度不高的问题,有效提升图像分类模型
的性能,增大分类预测的准确率。同时,最终得到的图像分类模型鲁棒性较好,能够适用于
多种图像分类任务中。
附图说明
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图示出的结构获得其他的附图。
具体实施方式
用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前
提下所获得的所有其他实施例,都属于本发明保护的范围。
该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图
示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以
包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只
清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间
的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方
案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明
要求的保护范围之内。
类模型的训练方法具体包括如下步骤。
中第一图像的数量均相等,也可以表示每一子集中第一图像的数量差不多,例如,每一子集
中第一图像的数量相差1‑5幅。在本实施例中,第一图像为有标签图像,每一第一图像均带
有一个标签。第一图像包括第一原始标签,第一原始标签为标签向量。其中,所有第一图像
属于若干类别,若干类别的数量为预设值,每一第一图像的标签均与一个类别相对应。举例
来说,所有第一图像属于5个类别,5个类别包括A、B、C、D、E。每一第一图像的标签与A、B、C、
D、E五个类别中的一个类别相对应。若第一图像的标签a与类别A相对应,则第一图像的第一
原始标签为(1,0,0,0,0);若第一图像的标签d与类别D相对应,则第一图像的第一原始标签
为(0,0,0,1,0)。可以理解的是,第一原始标签中数值的数量与类别的数量,即预设值相同。
且第一原始标签中的每一数值均与每一类别一一对应。当第一图像的标签与某一类别相对
应时,该第一图像的第一原始标签中与该类别相对应的数值为1,其余数值均为0。即是说,
第一原始标签为one‑hot向量。
集。第二图像集中的第二图像为无标签图像。在本实施例中,若干子集的数量为5‑10个。相
应地,若干合集的数量与若干子集的数量相同,也为5‑10个。举例来说,若干子集的数量为5
个,包括X1、X2、X3、X4、X5,第二图像集为Y。若合集中验证集为X1,则训练集包括X2、X3、X4、
X5以及Y;若合集中验证集为X2,则训练集包括X1、X3、X4、X5以及Y;若合集中验证集为X3,则
训练集包括X1、X2、X4、X5以及Y;若合集中验证集为X4,则训练集包括X1、X2、X3、X5以及Y;若
合集中验证集为X5,则训练集包括X1、X2、X3、X4以及Y。即是说,合集的数量也为5个,每一训
练集均包括第二图像集。
理,从而得到相应的第一增强图像和第二增强图像。其中,随机裁剪的过程中,将填充之后
的第一图像和第二图像均裁剪成预设大小。即是说,第一增强图像和第二增强图像的大小
均相同。随机水平翻转为概率性水平翻转,即是说,经过随机裁剪的第一图像和第二图像有
可能会经过水平翻转,也可能不会经过水平翻转。在一些可行的实施例中,随机水平翻转还
可以替换为随机垂直翻转或弱化等。
生结果,将同一训练集每一第二图像分别输入学生网络和教师网络并获取相应的第二学生
结果和第二教师结果。可以理解的是,学生网络和教师网络一一对应,且学生网络和教师网
络的对数与训练集的数量相同。每一对学生网络和教师网络与一个训练集相对应。优选地,
将同一训练集中的第一增强图像输入学生网络并获取第一学生结果,将同一训练集中的第
二增强图像输入相对应的学生网络并获取第二学生结果,将同一训练集中的第二增强图像
输入相对应的教师网络并获取第二教师结果。其中,第一学生结果、第二学生结果以及第二
教师结果均为标签向量,且标签向量中数值的数量与类别的数量,即预设值相同,标签向量
中每一数值均与一个类别相对应。标签向量中最大的数值所对应的类别为可信度最高的类
别,则与该类别相对应的标签为预测标签。
数是一个迭代训练的过程。当训练集中所有的第一图像和第二图像均分别输入学生网络和
教师网络并获取相应的输出结果之后,学生网络的第一参数和教师网络的第二参数都会根
据每一次的输出结果进行更新。根据输出结果更新学生网络的第一参数和教师网络的第二
参数的具体过程将在下文进行详细描述。
一图像输入学生网络并获取相应的验证结果。其中,验证结果为标签向量,且标签向量中数
值的数量与类别的数量,即预设值相同,标签向量中每一数值均与一个类别相对应。根据验
证结果和第一原始标签计算相对应的学生网络的准确率。具体地,将验证集中的第一图像
调整为预设大小后,将每一第一图像均输入学生网络并获取相应的验证结果,根据第一图
像的第一原始标签判断验证结果是否正确。当验证结果中最大数值所对应的标签和第一原
始标签所对应的标签相同时,判断验证结果正确。统计同一验证集中,第一图像的验证结果
的正确次数,根据正确次数与第一图像的数量计算学生网络的准确率。选取准确率最高的
学生网络作为最优学生网络。可以理解的是,当每次学生网络的第一参数更新之后,都对学
生网络的准确率进行计算,并将当前计算得到的准确率与上一次计算得到的准确率进行比
较,保留准确率较高的学生网络。在本实施例中,当第一参数的更新次数达到预设次数时,
更新结束。相应地,保留着的准确率较高的学生网络为更新过程中准确率最高的学生网络,
则选取作为最优学生网络。
分类模型的准确率。评估图像分类模型的准确率具体包括:将第一图像调整为预设大小后,
将第一图像输入图像分类模型并获取相应的评估结果,根据评估结果和第一图像的第一原
始标签计算图像分类模型的准确率。在本实施例中,将第一图像进行缩放处理以使第一图
像的大小为预设大小。其中,第一集中第一图像的数量为所有第一图像的数量的10‑20%,
第二集中第一图像的数量为所有第一图像的数量的80‑90%。优选地,第一集中第一图像的
数量为所有第一图像的20%,第二集中第一图像的数量为所有第一图像的80%。
与训练集相对应的验证集选取最优学生网络作为图像分类模型,通过半监督深度学习的方
法,能够在有标签图像数量不多的情况下,利用数量更多的无标签图像,一起训练一个效果
良好的图像分类模型,从而能够有效解决有标签图像数量小导致图像分类模型准确度不高
的问题,有效提升图像分类模型的性能,增大分类预测的准确率。同时,最终得到的图像分
类模型鲁棒性较好,能够适用于多种图像分类任务中。
数量之比在1/10‑1/5之间,能够有效保证训练的效果。对同一幅第二图像分别做两次增强
处理,得到的两幅第二增强图像再分别输入学生网络和教师网络,能够更好地根据第二学
生结果和第二教师结果提升图像分类模型的泛化能力和鲁棒性。
要在训练的过程中,相应地将第一图像换成有标签的语音或者有标签的文字,将第二图像
换成无标签的语音或者无标签的文字即可,在此不再一一赘述。
平均值作为第一损失。具体地,利用第一公式构建第一损失。其中,第一公式为
Lx表示第一损失,x表示第一图像,n表示一个训练集中第一图像
的数量,p表示第一原始标签,Pstu(x)表示第一学生结果,H(p,Pstu(x))表示第一学生结果和
第一原始标签的交叉熵。可以理解的是,交叉熵为同一第一图像的第一学生结果和第一原
始标签的交叉熵,每一训练集均与一个第一损失相对应。
差的平均值作为第二损失。具体地,利用第二公式构建第二损失。其中,第二公式为
Lv表示第二损失,v表示第二图像,m表示一个训练集中第二
图像的数量,Pstu(v)表示第二学生结果,Ptea(v)表示第二教师结果,
表示第二学生结果和第二教师结果的均方误差。可以理解的是,均方误差为同一第二图像
的第二学生结果和第二教师结果的均方误差,每一训练集均与一个第二损失相对应。
损失。其中,第三公式为L=Lx+αLv。L表示总损失,α表示第一系数。计算得到总损失之后,利
用梯度下降法根据总损失更新学生网络的第一参数,再利用滑动平均法根据学生网络的第
一参数更新教师网络的第二参数。具体地,利用第四公式对教师网络的第二参数进行更新。
其中,第四公式为θ's=θ's‑1+θs。θ's表示教师网络当前的第二参数,θ's‑1表示教师网络上一
次的第二参数,θs表示学生网络当前的第一参数。优选地,利用随机梯度下降法更新学生网
络的第一参数,再利用指数滑动平均法更新教师网络的第二参数。具体地,利用第五公式对
教师网络的第二参数进行更新。其中,第五公式为θ's=βθ's‑1+(1‑β)θs。β表示第二系数。可
以理解的是,当利用总损失对学生网络的第一参数进行更新之后,再利用更新后的第一参
数对教师网络的第二参数进行更新。其中,教师网络的第二参数为学生网络第一参数的指
数滑动平均值。
监督损失项,能够使得学生网络的第二学生结果和教师网络的第二教师结果更加相似。此
外,利用滑动平均法根据学生网络的第一参数更新教师网络的第二参数,能够简单、快速地
对第二参数进行更新。利用指数滑动平均法根据学生网络的第一参数更新教师网络的第二
参数,使得第二参数更加精确、可信。
分类。图像分类模型包括若干子模型。可以理解的是,目标图像为无标签图像,若干子模型
与上述训练过程中形成的若干最优学生网络一一对应。相应地,子模型的数量与最优学生
网络的数量相同。将图像输入图像分类模型并获取分类结果具体包括如下步骤。
中,子结果为标签向量,标签向量中数值的数量与类别的数量,即预设值相同,标签向量中
每一数值均与一个类别相对应。可以理解的是,图像分类模型在训练过程中,均将用于训练
的第一图像和第二图像调整为预设大小。当将目标图像输入图像分类模型时,也同样需要
将目标图像调整至相应的预设大小。
A、B、C、D、E。子模型的数量为5个。将同一目标图像分别输入每一子模型后获取的子结果分
别为(0.1,0.8,0.6,0.3,0.4)、(0.7,0.2,0.6,0.2,0.1)、(0.2,0.9,0.5,0.4,0.1)、(0.4,
0.7,0.5,0.2,0.1)、(0.6,0.5,0.4,0.1,0.1)。其中,每一子结果中最大数值所对应的类别
为可信度最高的类别。则,每一子结果所对应的类别分别为B、A、B、B、A。相应地,类别为A的
数量为2个,类别为B的数量为3个。类别B的数量大于类别A的数量,因此,选取类别B为分类
结果。
于每一子模型都是根据数量差不多甚至相同的第一图像和第二图像训练出来的,则每一子
模型的重要性相同,相应的投票结果的重要性也就相同。因此,直接统计投票结果的数量,
就可以获得相应的分类结果,能够有效增加图像分类模型的准确率。
例来说,若将所有第一图像划分为5个子集,5个子集中第一图像的数量的比值为1:1.2:2:
1:3。每一子结果所对应的类别分别为B、A、B、B、A。相应地,类别为A的数量为1.2+3,为4.2;
类别为B的数量为1+2+1,为4。类别A的数量大于类别B的数量,因此,选取类别A为分类结果。
即是说,在统计子结果中相同子结果的数量时,需要将每一子结果的基数设为1,并将每一
子结果的基数与相应比值进行乘积之后,才能够统计总数量。
型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX
存储器等)、磁性存储器、磁盘、光盘等。计算机可读存储介质11在一些实施例中可以是终端
10的内部存储单元,例如终端10的硬盘。计算机可读存储介质11在另一些实施例中也可以
是的外部终端10存储设备,例如终端10上配备的插接式硬盘、智能存储卡(Smart Media
Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,计算机
可读存储介质11还可以既包括终端10的内部存储单元也包括外部存储设备。计算机可读存
储介质11不仅可以用于存储安装于终端10的应用软件及各类数据,还可以用于暂时地存储
已经输出或者将要输出的数据。
线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并
不表示仅有一根总线或一种类型的总线。
(Organic Light‑Emitting Diode,OLED)触摸器等。其中,显示组件14也可以适当的称为显
示装置或显示单元,用于显示在终端10中处理的信息以及用于显示可视化的用户界面。
能控制设备之间建立通信连接。
中存储的程序代码或处理数据。具体地,处理器12执行多源异构数据的处理程序以控制终
端10实现图像分类模型的训练方法。
比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
之内,则本发明也意图包含这些改动和变型在内。