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

图像分类方法、装置、电子设备和可读存储介质与流程

2023-02-19 11:57:23 来源:中国专利 TAG:


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.将所述验证样本集输入至所述中间第二分类模型,得到所述中间第二分类模型对所述验证样本集的分类结果;
35.将所述中间第二分类模型对所述验证样本集的分类结果以及所述训练后的中间第一分类模型对所述验证样本集的分类结果进行比较,得到所述中间第二分类模型的准确率;
36.根据所述中间第二分类模型的准确率,得到所述中间第二分类模型的第二评价指标。
37.在可选的实施方式中,所述根据所述第一评价指标以及所述第二评价指标的确定训练终点,得到第一分类模型和第二分类模型的步骤包括:
38.计算所述第一评价指标与所述第二评价指标的差值;
39.判断所述差值是否满足第二预设条件;
40.若满足,得到第一分类模型和第二分类模型;
41.若未满足,根据训练后的中间第一分类模型对所述验证样本集的分类结果,对所述中间第二分类模型的权重进行更新,并根据权重更新后的中间第二分类模型对所述训练样本集的分类结果,对训练后的中间第一分类模型继续进行训练,以此迭代,直至第一评价指标与第二评价指标的差值满足所述第二预设条件,得到第一分类模型和第二分类模型。
42.在可选的实施方式中,所述根据初始第二分类模型对所述训练样本集的分类结果,对初始第一分类模型进行训练之前,所述方法还包括:
43.将所述训练样本集输入至预设的原始分类模型,得到所述原始分类模型对所述训练样本集的分类结果;
44.计算所述原始分类模型对所述训练样本集的分类结果与所述训练样本集的原始标签值的损失;
45.判断所述损失是否满足第三预设条件;
46.若未满足,将所述损失反向传播,调整所述原始分类模型的权重,以此迭代,直至所述损失满足第三预设条件,得到所述初始第二分类模型。
47.第二方面,本发明实施例提供一种图像分类装置,包括:
48.图像获取模块,用于获取待分类的目标图像;
49.图像分类模块,用于将所述目标图像输入至预设的第一分类模型,通过所述第一分类模型对所述目标图像进行特征处理,得到所述目标图像中目标物体的分类结果;其中,所述第一分类模型通过采用第二分类模型的输出训练得到,所述第二分类模型通过采用所述第一分类模型的输出训练得到。
50.第三方面,本发明实施例提供一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一实施方式所述的图像分类方法。
51.第四方面,本发明实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施方式所述的图像分类方法。
52.本发明实施例所提供的图像分类方法、装置、电子设备和可读存储介质,通过采用第二分类模型的输出训练得到第一分类模型,并通过第一分类模型的输出更新第二分类模型的权重,如此,通过强化循环训练的方式得到第一分类模型,在获取待分类的目标图像后,将目标图像输入至第一分类模型进行特征处理,对目标图像中目标物体进行分类时,能大大提高目标图像中目标物体的分类准确性。
附图说明
53.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
54.图1为本发明实施例所提供的电子设备的一种结构示意图。
55.图2为本发明实施例所提供的图像分类方法的一种流程示意图。
56.图3为本发明实施例所提供的图像分类方法的另一种流程示意图。
57.图4为本发明实施例所提供的图像分类装置的一种方框示意图。
58.图标:100-电子设备;10-图像分类装置;11-图像获取模块;12-图像分类模块;20-存储器;30-处理器;40-通信单元。
具体实施方式
59.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
60.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
61.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
62.在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
63.如背景技术所述,目前,大多采用深度学习网络对图像进行分类,但是深度学习网络对图像分类的准确率有待提高,基于此,为了提高图像分类的准确率,通常会在训练深度学习网络时进行优化。对深度学习网络的优化大多通过以下几种方式实现:1、对网络进行改造,加入更多的结构;2、采用不同的数据处理方法,对样本进行优化;3、优化损失、采用不同的损失来对类内和类间的距离进行拉伸;4、采用不同的训练方法来实现性能的提升。上述的优化方式中,第1种会修改网络结构,进而影响最终的模型大小和执行性能,而第2种、第3种以及第4种则不会修改网络结构,并且提升了网络的表达能力以及提升网络的性能。
64.基于上述研究,本实施例提供一种图像分类方法、装置、电子设备和可读存储介质,通过采用第二分类模型的输出训练得到第一分类模型,通过第一分类模型的输出更新第二分类模型的权重,如此,通过强化循环训练的方式对模型的训练过程进行优化,使得在获取待分类的目标图像后,将目标图像输入至第一分类模型进行特征处理,对目标图像中目标物体进行分类时,能大大提高目标图像中目标物体的分类准确性。
65.请参阅图1,图1为本实施例提供的一种电子设备100的结构框图。电子设备100包
括图像分类装置10、存储器20、处理器30及通信单元40,存储器20存储有处理器30可执行的机器可读指令,当电子设备100运行时,处理器30与存储器20之间通过总线通信,处理器30执行机器可读指令,并执行图像分类方法。
66.存储器20、处理器30以及通信单元40各元件相互之间直接或间接地电性连接,以实现信号的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。图像分类装置10包括至少一个可以软件或固件(firmware)的形式存储于存储器20中的软件功能模块。处理器30用于执行存储器20中存储的可执行模块(例如图像分类装置10所包括的软件功能模块或计算机程序)。
67.其中,存储器20可以是,但不限于,随机读取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
68.在一些实施例中,处理器30用以执行本实施例中描述的一个或多个功能。在一些实施例中,处理器30可以包括一个或多个处理核(例如,单核处理器(s)或多核处理器(s))。仅作为举例,处理器30可以包括中央处理单元(central processing unit,cpu)、专用集成电路(application specific integratedcircuit,asic)、专用指令集处理器(application specific instruction-setprocessor,asip)、图形处理单元(graphics processing unit,gpu)、物理处理单元(physics processing unit,ppu)、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field programmable gate array,fpga)、可编程逻辑器件(programmable logic device,pld)、控制器、微控制器单元、简化指令集计算机(reducedinstruction set computing,risc)或微处理器等,或其任意组合。
69.本实施例中,存储器20用于存储程序,处理器30用于在接收到执行指令后,执行程序。本实施例任一实施方式所揭示的流程定义的方法可以应用于处理器30中,或者由处理器30实现。
70.通信单元40用于通过网络建立电子设备100与其他设备之间的通信连接,并用于通过网络收发数据。
71.在一些实施方式中,网络可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(local area network,lan)、广域网(wide area network,wan)、无线局域网(wireless local area networks,wlan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、公共电话交换网(public switched telephone network,pstn)、蓝牙网络、zigbee网络、或近场通信(near field communication,nfc)网络等,或其任意组合。
72.在本实施例中,电子设备100可以是但不限于笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等电子设备上,本实施例对电子设备的具体类型不作任何限制。
73.可以理解地,图1所示的结构仅为示意。电子设备100还可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其
组合实现。
74.基于图1的实现架构,本实施例提供一种图像分类方法,由图1所示的电子设备执行,下面对本实施例提供的图像分类方法的步骤进行详细阐述。请结合参阅图2,本实施例所提供的图像分类方法包括步骤s101至步骤s102。
75.步骤s101:获取待分类的目标图像。
76.可选的,目标图像可以通过摄像设备对待监测的目标物体进行拍摄得到,摄像设备在拍摄得到目标图像后,即可将目标图像发送至电子设备。
77.在本实施例中,目标图像可以是从摄像设备拍摄的监控视频中得到。可选的,目标图像可以直接选取监控视频中连续的多帧图像得到,也可以是通过对监控视频进行等长划分,得到多个连续的子视频,然后从每个子视频中选取同等数量的帧图像组成得到。
78.为了实现实时对图像的分类,在本实施例中,还可以维持2个n帧(假设目标图像包括n帧图像)队列,s队列和q队列,其中,s是工作队列,q是缓冲队列,缓冲队列中的帧图像为监控视频中的新帧,每当q队列集满n帧图像后,就从s队列和q队列中各自均匀采样n/2帧图像组成新的s队列,然后从s队列中获取得到目标图像。
79.在得到目标图像后,即可执行步骤s102,对目标图像进行分类。
80.步骤s102:将目标图像输入至预设的第一分类模型,通过第一分类模型对目标图像进行特征处理,得到目标图像中目标物体的分类结果。
81.在本实施例中,第一分类模型可以是用于动作识别的模型,如eco模型(一个基于3d卷积的动作分类网络),第二分类模型可以是一个网络结构较大且性能较好的模型,例如,tanet模型(3d点云目标检测框架)。
82.在本实施例中,利用teacher-student网络学习的方法来训练第一分类模型和第二分类模型,其中,第二分类模型可以作为老师模型(teacher模型),第一分类模型可以为学生模型(student模型),第一分类模型通过采用第二分类模型的输出训练得到,而第二分类模型又通过采用第一分类模型的输出更新权重,如此,循环学习,稳步提升第一分类模型的能力。
83.在得到第一分类模型后,即可将目标图像输入至第一分类模型,第一分类模型即可对目标图像进行特征处理,得到目标图像中目标物体的分类结果。
84.以第一分类模型为eco模型,目标图像包括多帧图像进行说明。在将目标图像输入至第一分类模型后,针对目标图像中的每帧图像,采用常规的2d卷积网络进行特征处理,得到每帧图像对应的特征图,在得到每帧图像对应的特征图后,将每帧图像对应的特征图进行堆叠,得到堆叠后的特征图,然后采用3d卷积网络对堆叠后的特征图进行处理,输出对应类别数目的一维向量,即对目标图像的分类结果。
85.实际应用中,动作分类网络的输入是10帧图像数据,再经过3d卷积后输出进行一个5分类结果。因为数据复杂性导致最终分类的精确度只能达到81%最优,无法提高。基于此,本实施例利用teacher-student网络学习的方法来进行训练,以提高第一分类模型的分类准确性。其中,请结合参阅图3,第一分类模型、第二分类模型的训练过程可以如下:
86.步骤s201:获取样本数据,样本数据包括训练样本集以及验证样本集。
87.步骤s202:根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练,得到中间第一分类模型。
88.步骤s203:根据中间第一分类模型对验证样本集的分类结果计算初始第二分类模型的第一评价指标,并对初始第二分类模型的权重进行更新,得到中间第二分类模型。
89.步骤s204:根据中间第二分类模型对训练样本集的分类结果,对中间第一分类模型进行训练,并根据训练后的中间第一分类模型对验证样本集的分类结果,计算中间第二分类模型的第二评价指标。
90.步骤s205:根据第一评价指标以及第二评价指标的确定训练终点,得到第一分类模型和第二分类模型。
91.其中,在得到样本数据后,可将样本数据划分为训练样本集以及验证样本集。可选的,在划分训练样本集以及验证样本集时,可以按照设定比例进行划分,例如,训练样本集与验证样本集的比例可以为80%:20%,也可以是其它任意设定比例,本实施例不做具体限制,可以根据实际需求而设置。
92.在本实施例中,初始第二分类模型为经过训练,性能较优的模型,为了得到初始第二分类模型,在根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练之前,本实施例所提供的图像分类方法还包括:
93.将训练样本集输入至预设的原始分类模型,得到原始分类模型对训练样本集的分类结果。
94.计算原始分类模型对训练样本集的分类结果与训练样本集的原始标签值的损失。
95.判断损失是否满足第三预设条件。
96.若未满足,将损失反向传播,调整原始分类模型的权重,以此迭代,直至损失满足第三预设条件,得到初始第二分类模型。
97.其中,在样本数据进行划分后,可先利用训练样本集对原始分类模型进行训练,得到初始第二分类模型。
98.在本实施例中,原始分类模型为网络结构较大的分类模型,通过对原始分类模型进行训练,即可得到性能较优的第二分类模型。
99.在本实施例中,训练样本集中带有标注的原始标签值,在将训练样本集输入至预设的原始分类模型,得到原始分类模型对训练样本集的分类结果后,即可计算原始分类模型对训练样本集的分类结果与训练样本集的原始标签值的损失,然后判断损失是否满足第三预设条件,若满足第三预设条件,保存当前原始分类模型的结构,得到初始第二分类模型,若未满足第三预设条件,则将损失反向调整原始分类模型的权重,并再计算权重调整后的原始分类模型对训练样本集的分类结果与训练样本集的原始标签值的损失,并判断再次计算得到的损失是否满足第三预设条件,若满足,保存权重调整后的原始分类模型的结构,得到初始第二分类模型。若未满足,则将再次计算得到的损失反向传播,对调整权重后的原始分类模型再次调整权重,以此迭代,直至损失满足第三预设条件,得到初始第二分类模型。
100.可选的,在本实施例中,在计算原始分类模型对训练样本集的分类结果与训练样本集的原始标签值的损失时,可以采用任意一种损失函数,如交叉熵损失函数、对数损失函数、指数损失函数等等,本实施例不做具体限制,可以根据实际需求而设定。
101.可选的,在本实施例中,第三预设条件可以是达到最小值或者收敛等等,本实施例不做具体限制,可以根据实际需求而设定。
102.在得到初始第二模型后,则可将训练样本集输入至初始第二分类模型中,通过初始第二分类模型进行前向推理,得到前向推理的结果,即初始第二分类模型对训练样本集的分类结果。
103.在本实施例中,初始第二分类模型对训练样本集的分类结果为一个1*n的向量,其中,n为类别数目,当n=5时,输出结果即为1*5的向量,包括对5个类别的概率值。
104.在得到初始第二分类模型对训练样本集的分类结果后,即可根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练,得到中间第一分类模型。
105.在本实施例中,根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练,得到中间第一分类模型的步骤可以包括:
106.(2-1)将训练样本集输入至初始第一分类模型,得到初始第一分类模型对训练样本集的分类结果。
107.(2-2)计算初始第一分类模型对训练样本集的分类结果与初始第二分类模型对训练样本集的分类结果的损失。
108.(2-3)判断损失是否满足第一预设条件。
109.(2-4)若未满足,将损失反向传播,调整初始第一分类模型的权重,以此迭代,直至损失满足第一预设条件,得到中间第一分类模型。
110.其中,在根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练时,将初始第二分类模型对训练样本集的分类结果为训练样本集新的标签值,随训练样本集一同输入至初始第一分类模型。
111.在将训练样本集输入至初始第一分类模型,得到初始第一分类模型对训练样本集的分类结果后,即可将初始第一分类模型对训练样本集的分类结果与初始第二分类模型对训练样本集的分类结果进行比较,计算初始第一分类模型对训练样本集的分类结果以及初始第二分类模型对训练样本集的分类结果的损失。
112.可以理解地,在计算初始第一分类模型对训练样本集的分类结果与初始第二分类模型对训练样本集的分类结果的损失时,可以采用任意一种损失函数,如交叉熵损失函数、对数损失函数、指数损失函数等等,本实施例不做具体限制,可以根据实际需求而设定。
113.在本实施例中,初始第一分类模型对训练样本集的分类结果作为预测值,初始第二分类模型对训练样本集的分类结果作为标签值,在计算得到初始第一分类模型对训练样本集的分类结果与初始第二分类模型对训练样本集的分类结果的损失后,判断该损失是否满足第一预设条件,若该损失满足第一预设条件,得到中间第一分类模型,若该损失不满足第一预设条件,则将损失反向传播,调整初始第一分类模型的权重,然后再计算调整权重后的初始第一分类模型对训练样本集的分类结果与初始第二分类模型对训练样本集的分类结果的损失,并再次判断损失是否满足第一预设条件,若满足,保存调整权重后的初始第一分类模型的结构,得到中间第一分类模型,若未满足,则将再次计算得到的损失反向传播,对调整权重后的初始第一分类模型再次调整权重,以此迭代,直至损失满足第一预设条件,得到中间第一分类模型。
114.可以理解地,在本实施例中,第一预设条件可以是达到最小值或者收敛等等,本实施例不做具体限制,可以根据实际需求而设定。
115.在本实施例中,将初始第二分类模型对训练样本集的分类结果作为标签值时,初
始第二分类模型对训练样本集的分类结果为包含多个类别信息的softlabel(软标签),相比于直接利用类别结果生成的只含一个类别信息的onehot标签,初始第二分类模型对训练样本集的分类结果的信息更丰富,因此,将初始第二分类模型对训练样本集的分类结果作为标签值,对初始第一分类模型进行训练,可以让初始第一分类模型学习到更丰富的信息。可以理解地,在本实施例中,初始第一分类模型对训练样本集的分类结果也为一个1*n的向量。
116.在得到中间第一分类模型后,将验证样本集输入至中间第一分类模型,通过中间第一分类模型进行前向推理,即可得到中间第一分类模型对验证样本集的分类结果。
117.在得到中间第一分类模型对验证样本集的分类结果后,即可根据中间第一分类模型对验证样本集的分类结果计算初始第二分类模型的第一评价指标,同时根据中间第一分类模型对验证样本集的分类结果对初始第二分类模型的权重进行更新。
118.在本实施例中,根据中间第一分类模型对验证样本集的分类结果计算初始第二分类模型的第一评价指标的步骤可以包括:
119.将验证样本集输入至初始第二分类模型,得到初始第二分类模型对验证样本集的分类结果。
120.将初始第二分类模型对验证样本集的分类结果以及中间第一分类模型对验证样本集的分类结果进行比较,得到初始第二分类模型的准确率。
121.根据初始第二分类模型的准确率,得到初始第二分类模型的第一评价指标。
122.其中,在根据中间第一分类模型对验证样本集的分类结果计算初始第二分类模型的第一评价指标时,将中间第一分类模型对验证样本集的分类结果作为真实值,将初始第二分类模型对验证样本集的分类结果作为预测值,进而将中间第一分类模型对验证样本集的分类结果与初始第二分类模型对验证样本集的分类结果进行比较,即可得到的初始第二分类模型分类的准确率。
123.需要说明的是,中间第一分类模型对验证样本集的分类结果为1*n的向量,包括对n个类别的概率值,初始第二分类模型对验证样本集的分类结果也为1*n的向量,同样包括对n个类别的概率值。在将中间第一分类模型对验证样本集的分类结果与初始第二分类模型对验证样本集的分类结果进行比较,可将中间第一分类模型对验证样本集的分类结果中概率值最大的类别与初始第二分类模型对验证样本集的分类结果中概率值最大的类别进行比较,判断二者概率值最大的类别是否一致,如果一致,则判定初始第二分类模型分类准确,如果不一致,则判定初始第二分类模型分类错误,以此得到初始第二分类模型的准确率。
124.在得到初始第二分类模型的准确率后,即可根据初始第二分类模型的准确率,得到初始第二分类模型的第一评价指标。
125.在一种可选的实施方式中,在得到初始第二分类模型的准确率后,可以直接以初始第二分类模型的准确率作为初始第二分类模型的第一评价指标。
126.在一种可选的实施方式中,为了准确评估初始第二分类模型的性能,在本实施例中,还可以根据初始第二分类模型对验证样本集的分类结果以及中间第一分类模型对验证样本集的分类结果,得到初始第二分类模型的混淆矩阵,根据混淆矩阵得到初始第二分类模型的真正类率、负正类率以及真负类率,然后根据真正类率、负正类率以及真负类率,计
算得到初始第二分类模型的auc(area under curve)指标,以auc指标作为初始第二分类模型的评价指标。
127.相应地,在本实施例中,根据中间第一分类模型对验证样本集的分类结果对初始第二分类模型的权重进行更新,得到中间第二分类模型的步骤包括:
128.(3-1)将验证样本集输入至初始第二分类模型,得到初始第二分类模型对验证样本集的分类结果。
129.(3-2)计算初始第二分类模型对验证样本集的分类结果与中间第一分类模型对验证样本集的分类结果的损失;其中,中间第一分类模型对验证样本集的分类结果为验证样本集的标签值。
130.(3-3)将损失反向传播,得到初始第二分类模型的第一梯度。
131.(3-4)根据第一梯度对初始第二分类模型的权重进行更新,得到中间第二分类模型。
132.其中,在根据中间第一分类模型对验证样本集的分类结果对初始第二分类模型的权重进行更新时,可以将中间第一分类模型对验证样本集的分类结果作为真实标签值,随验证样本集一同输入至初始第二分类模型。
133.在将验证样本集输入至初始第二分类模型,得到初始第二分类模型对验证样本集的分类结果后,即可计算初始第二分类模型对验证样本集的分类结果以及中间第一分类模型对验证样本集的分类结果的损失。
134.可以理解地,在计算初始第二分类模型对验证样本集的分类结果以及中间第一分类模型对验证样本集的分类结果的损失时,可以采用任意一种损失函数,如交叉熵损失函数、对数损失函数、指数损失函数等等,本实施例不做具体限制,可以根据实际需求而设定。
135.在得到初始第二分类模型对验证样本集的分类结果以及中间第一分类模型对验证样本集的分类结果的损失后,将损失反向传播,即可得到初始第二分类模型的第一梯度,然后根据第一梯度即可对初始第二分类模型的权重进行更新,得到中间第二分类模型。
136.在可选的实施方式中,根据第一梯度对初始第二分类模型的权重进行更新的方式可以通过以下公式实现:
137.w
t 1
=w
t-ng
138.其中,w
t 1
为初始第二分类模型更新后的权重,w
t
为初始第二分类模型当前的权重,n为初始第二分类模型的学习率,g为第一梯度。
139.在得到梯度后,若直接根据梯度对初始第二分类模型的权重进行更新,难以达到全局的最小值,为了快速达到全局的最小值,在本实施例中,根据第一梯度对初始第二分类模型的权重进行更新,得到中间第二分类模型的步骤包括:
140.对第一梯度进行求导,得到第二梯度。
141.对第二梯度施加设定邻域内的扰动,得到邻域梯度。
142.根据第一梯度以及邻域梯度,对初始第二分类模型的权重进行更新,得到中间第二分类模型。
143.在本实施例中,在得到第一梯度后,即可对第一梯度进行求导,得到第二梯度。在得到第二梯度后,即可对第二梯度施加设定邻域内的扰动,得到邻域梯度。其中,邻域半径可以根据实际需求而设定,可以是0.1、0.2、0.3等等,本实施例不做具体限制。通过对第二
梯度施加邻域内的扰动,可以在邻域半径内得到损失较小的梯度。
144.在得到邻域梯度后,即可根据第一梯度以及邻域梯度,对初始第二分类模型的权重进行更新。
145.在本实施例中,在得到邻域梯度后,可根据第一梯度以及邻域梯度,计算得到目标梯度,然后基于目标梯度对初始第二分类模型的权重进行更新。
146.在本实施例中,根据第一梯度以及邻域梯度,计算得到目标梯度的方式可以如下:
147.g
new
=g δg

148.其中,g
new
表示目标梯度,g表示第一梯度,δg

为邻域梯度,δ为邻域内施加的扰动。
149.在得到目标梯度后,即可将目标梯度代入到w
t 1
=w
t-ng公式中,得到w
t 1
=w
t-n*g
new
,以此对初始第二分类模型的权重进行更新。
150.本实施例中,通过对第一梯度进行求导,得到第二梯度后,即可以得到梯度的下降方式,而通过对第二梯度施加设定邻域内的扰动,得到邻域梯度后,即得到了梯度的方向,进而通过第一梯度以及邻域梯度,对初始第二分类模型的权重进行更新,可以使梯度更加圆滑,可以更快到达全局的最小值。
151.需要说明的是,在本实施例中,根据计算得到第一梯度以及邻域梯度,对第二分类模型的权重进行更新时,只对第二分类模型的权重更新一次,而基于第二分类模型对训练样本集的分类结果训练第一分类模型时,是个迭代训练的过程,第一分类模型的权重会被更新多次。
152.在对初始第二分类模型的权重进行更新后,即可得到中间第二分类模型。在得到中间第二分类模型后,将训练样本集输入到中间第二分类模型中,通过中间第二分类模型进行前向推理,得到中间第二分类模型对训练样本集的分类结果。
153.在得到中间第二分类模型对训练样本集的分类结果后,即可以根据中间第二分类模型对训练样本集的分类结果,对中间第一分类模型再次进行训练,即将中间第二分类模型对训练样本集的分类结果作为训练样本集的标签值,随训练样本集一同输入至中间第一分类模型。
154.在得到中间第一分类模型对训练样本集的分类结果后,将中间第一分类模型对训练样本集的分类结果与中间第二分类模型对训练样本集的分类结果进行比较,计算中间第一分类模型对训练样本集的分类结果与中间第二分类模型对训练样本集的分类结果的损失,并判断该损失是否满足第一预设条件,若该损失满足第一预设条件,得到训练后的中间第一分类模型,若该损失不满足第一预设条件,则将损失反向传播,调整中间第一分类模型的权重,然后再计算调整权重后的中间第一分类模型对训练样本集的分类结果与中间第二分类模型对训练样本集的分类结果的损失,并再次判断损失是否满足第一预设条件,若满足,保存调整权重后的中间第一分类模型的结构,得到训练后的中间第一分类模型,若未满足,则将再次计算得到的损失反向传播,对调整权重后的中间第一分类模型再次调整权重,以此迭代,直至损失满足第一预设条件,得到训练后的中间第一分类模型。
155.在得到训练后的中间第一分类模型后,将验证样本集输入至训练后的中间第一分类模型,通过训练后的中间第一分类模型进行前向推理,得到训练后的中间第一分类模型对验证样本集的分类结果。
156.在得到训练后的中间第一分类模型对验证样本集的分类结果后,即可根据训练后的中间第一分类模型对验证样本集的分类结果计算中间第二分类模型的第二评价指标。
157.在本实施例中,根据训练后的中间第一分类模型对验证样本集的分类结果计算中间第二分类模型的第二评价指标的步骤包括:
158.将验证样本集输入至中间第二分类模型,得到中间第二分类模型对验证样本集的分类结果。
159.将中间第二分类模型对验证样本集的分类结果以及训练后的中间第一分类模型对验证样本集的分类结果进行比较,得到中间第二分类模型的准确率。
160.根据中间第二分类模型的准确率,得到中间第二分类模型的第二评价指标。
161.其中,在根据训练后的中间第一分类模型对验证样本集的分类结果计算中间第二分类模型的第二评价指标时,将训练后的中间第一分类模型对验证样本集的分类结果作为真实值,将中间第二分类模型对验证样本集的分类结果作为预测值,将训练后的中间第一分类模型对验证样本集的分类结果与中间第二分类模型对验证样本集的分类结果进行比较,即可得到的中间第二分类模型的准确率。
162.在本实施例中,根据中间第二分类模型的准确率,得到中间第二分类模型的第二评价指标的方式,与根据初始第二分类模型的准确率,得到初始第二分类模型的第一评价指标的方式相同,在此不过多赘述,请参照上述根据初始第二分类模型的准确率,得到初始第二分类模型的第一评价指标的过程。
163.在得到中间第二分类模型的第二评价指标后,即可根据第一评价指标以及第二评价指标,确定模型的训练是否完成,即确定是否达到训练终点。
164.在本实施例中,根据第一评价指标以及第二评价指标的确定训练终点,得到第一分类模型和第二分类模型的步骤包括:
165.计算第一评价指标与第二评价指标的差值。
166.判断差值是否满足第二预设条件。
167.若满足,得到第一分类模型和第二分类模型。
168.若未满足,根据训练后的中间第一分类模型对验证样本集的分类结果,对中间第二分类模型的权重进行更新,并根据权重更新后的中间第二分类模型对训练样本集的分类结果,对训练后的中间第一分类模型继续进行训练,以此迭代,直至第一评价指标与第二评价指标的差值满足第二预设条件,得到第一分类模型和第二分类模型。
169.其中,在得到第一评价指标和第二评价指标后,计算第一评价指标与第二评价指标的差值,并判断第一评价指标与第二评价指标的差值是否满足第二预设条件。
170.可选的,在本实施例中,第二预设条件可以是小于设定阈值,当第一评价指标与第二评价指标的差值满足第二预设条件,即表征第一评价指标与第二评价指标的差值小于设定阈值,中间第二分类模型与初始第二分类模型在验证样本集的准确率表现稳定,第一分类模型和第二分类模型的性能稳定,因此,可以停止模型的训练过程,保存当前中间第二分类模型的结构,得到第二分类模型,保存当前训练后的中间第一分类模型的结构,得到第一分类模型。当第一评价指标与第二评价指标的差值未满足第二预设条件,即表征第一评价指标与第二评价指标的差值未小于设定阈值,中间第二分类模型与初始第二分类模型在验证样本集的准确率不稳定,第一分类模型和第二分类模型的性能不稳定,因此,还需继续训
练模型,进而继续根据训练后的中间第一分类模型对验证样本集的分类结果,对中间第二分类模型的权重进行更新,并根据权重更新后的中间第二分类模型对训练样本集的分类结果,对训练后的中间第一分类模型继续进行训练,以此循环迭代,直至第一评价指标与第二评价指标的差值满足第二预设条件,得到第一分类模型和第二分类模型,即在循环训练过程中,当两次循环之间第二分类模型在验证集上的评价指标表现稳定,停止训练。
171.可选的,在本实施例中,设定阈值可以根据实际需求而设定,比如0.05、0.1等等,本实施例不做具体限定。
172.可以理解地,根据训练后的中间第一分类模型对验证样本集的分类结果,对中间第二分类模型的权重进行更新的方式,与根据中间第一分类模型对验证样本集的分类结果对初始第二分类模型的权重进行更新的方式相同,在此不过多进行赘述,请参照上述根据中间第一分类模型对验证样本集的分类结果对初始第二分类模型的权重进行更新的过程。
173.根据权重更新后的中间第二分类模型对训练样本集的分类结果,对训练后的中间第一分类模型继续进行训练的过程,与根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练的过程相同,在此不过多进行赘述,请参照上述根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练的过程。
174.在得到第一分类模型和第二分类模型之后,本实施例即可利用第一分类模型在多种领域下进行图像分类。如在物流领域下,识别快递小哥在搬运快递时,其动作是否违规,即对快递小哥的动作行为进行分类,判断快递小哥在搬运快递时,是否有抛扔踢等违规动作。具体地,可以从监控视频中获取包括快递小哥行为动作的目标图像,然后将目标图像输入至训练好的第一分类模型中,通过第一分类模型对目标图像进行特征处理,对目标图像中快递小哥的行为动作进行分类,得到目标图像中快递小哥行为动作的分类结果,从而可以检测出快递小哥在搬运快递时,是否有抛扔快递、脚踢快递等违规操作。
175.本实施例所提供的图像分类方法,依据第二分类模型的输出,对第一分类模型进行训练,依据第一分类模型的输出,对第二分类模型的权重进行调整,以此进入循环训练,形成一个强化学习的循环,实现模型性能的稳定提升。
176.本实施例所提供的图像分类方法,利用验证样本集的数据来进行梯度回传,实现了验证样本集数据对训练的优化,进一步提升了模型的性能。通过具有一致低损失的邻域梯度来实现权重的更新,可以较好地使模型达到最小值,进一步优化了模型性能,在不改变模型大小的情况下,模型的准确率进行了稳步的提升,至少提高5%。
177.基于同一发明构思,请结合参阅图4,本实施例提供一种图像分类装置10,应用于图1所示的电子设备,如图4所示,本实施例所提供的图像分类装置10包括图像获取模块11以及图像分类模块12。
178.图像获取模块11,用于获取待分类的目标图像。
179.图像分类模块12,用于将目标图像输入至预设的第一分类模型,通过第一分类模型对目标图像进行特征处理,得到目标图像中目标物体的分类结果;其中,第一分类模型通过采用第二分类模型的输出训练得到,第二分类模型通过采用第一分类模型的输出训练得到。
180.在可选的实施方式中,本实施例所提供的图像分类装置10包括模型训练模块,在将所述目标图像输入至预设的分类模型之前,模型训练模块用于:
181.获取样本数据,样本数据包括训练样本集以及验证样本集。
182.根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练,得到中间第一分类模型。
183.根据中间第一分类模型对验证样本集的分类结果计算初始第二分类模型的第一评价指标,并对初始第二分类模型的权重进行更新,得到中间第二分类模型。
184.根据中间第二分类模型对训练样本集的分类结果,对中间第一分类模型进行训练,并根据训练后的中间第一分类模型对验证样本集的分类结果,计算中间第二分类模型的第二评价指标。
185.根据第一评价指标以及第二评价指标的确定训练终点,得到第一分类模型和第二分类模型。
186.在可选的实施方式中,训练模块用于:
187.将验证样本集输入至初始第二分类模型,得到初始第二分类模型对验证样本集的分类结果;
188.计算初始第二分类模型对验证样本集的分类结果与中间第一分类模型对验证样本集的分类结果的损失;其中,中间第一分类模型对验证样本集的分类结果为验证样本集的标签值。
189.将损失反向传播,得到初始第二分类模型的第一梯度。
190.根据第一梯度对初始第二分类模型的权重进行更新,得到中间第二分类模型。
191.在可选的实施方式中,模型训练模块用于:
192.对第一梯度进行求导,得到第二梯度。
193.对第二梯度施加设定邻域内的扰动,得到邻域梯度。
194.根据第一梯度以及邻域梯度,对初始第二分类模型的权重进行更新,得到中间第二分类模型。
195.在可选的实施方式中,模型训练模块用于:
196.将验证样本集输入至初始第二分类模型,得到初始第二分类模型对验证样本集的分类结果。
197.将初始第二分类模型对验证样本集的分类结果以及中间第一分类模型对验证样本集的分类结果进行比较,得到初始第二分类模型的准确率。
198.根据初始第二分类模型的准确率,得到初始第二分类模型的第一评价指标。
199.在可选的实施方式中,模型训练模块用于:
200.将训练样本集输入至初始第一分类模型,得到初始第一分类模型对训练样本集的分类结果。
201.计算初始第一分类模型对训练样本集的分类结果与初始第二分类模型对训练样本集的分类结果的损失;其中,初始第二分类模型对训练样本集的分类结果为训练样本集的标签值。
202.判断损失是否满足第一预设条件。
203.若未满足,将损失反向传播,调整初始第一分类模型的权重,以此迭代,直至损失满足第一预设条件,得到中间第一分类模型。
204.在可选的实施方式中,模型训练模块用于:
205.将验证样本集输入至中间第二分类模型,得到中间第二分类模型对验证样本集的分类结果。
206.将中间第二分类模型对验证样本集的分类结果以及训练后的中间第一分类模型输出的对验证样本集的分类结果进行比较,得到中间第二分类模型的准确率。
207.根据中间第二分类模型的准确率,得到中间第二分类模型的第二评价指标。
208.在可选的实施方式中,模型训练模块用于:
209.计算第一评价指标与第二评价指标的差值。
210.判断差值是否满足第二预设条件。
211.若满足,得到第一分类模型和第二分类模型。
212.若未满足,根据训练后的中间第一分类模型对验证样本集的分类结果,对中间第二分类模型的权重进行更新,并根据权重更新后的中间第二分类模型对训练样本集的分类结果,对训练后的中间第一分类模型继续进行训练,以此迭代,直至第一评价指标与第二评价指标的差值满足第二预设条件,得到第一分类模型和第二分类模型。
213.在可选的实施方式中,根据初始第二分类模型对训练样本集的分类结果,对初始第一分类模型进行训练之前,模型训练模块用于:
214.将训练样本集输入至预设的原始分类模型,得到原始分类模型对训练样本集的分类结果。
215.计算原始分类模型对训练样本集的分类结果与训练样本集的原始标签值的损失。
216.判断损失是否满足第三预设条件。
217.若未满足,将损失反向传播,调整原始分类模型的权重,以此迭代,直至损失满足第三预设条件,得到初始第二分类模型。
218.本实施例所提供的图像分类装置,通过采用第二分类模型的输出训练得到第一分类模型,并通过第一分类模型的输出更新第二分类模型的权重,如此,通过强化循环训练的方式得到第一分类模型,在获取待分类的目标图像后,将目标图像输入至第一分类模型进行特征处理,对目标图像中目标物体进行分类时,能大大提高目标图像中目标物体的分类准确性。
219.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的图像分类装置10的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
220.在上述基础上,本实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施方式所述的图像分类方法。
221.其中,可读存储介质可以是,但不限于,u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
222.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的可读存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
223.综上,本实施例所提供的图像分类方法、装置、电子设备和可读存储介质,通过采用第二分类模型的输出训练得到第一分类模型,并通过第一分类模型的输出更新第二分类模型的权重,如此,通过强化循环训练的方式得到第一分类模型,在获取待分类的目标图像后,将目标图像输入至第一分类模型进行特征处理,对目标图像中目标物体进行分类时,能
大大提高目标图像中目标物体的分类准确性。
224.以上所述,仅为本发明的各种实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献