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

图像分类网络的训练方法、图像分类方法和系统与流程

2022-12-19 23:39:59 来源:中国专利 TAG:


1.本说明书涉及图像处理领域,尤其涉及一种图像分类网络的训练方法、图像分类方法和系统。


背景技术:

2.图像分类作为计算机视觉中重要的课题之一,具有极广泛的应用,比如应用在人脸识别、智慧交通、工业检测等。
3.在使用图像分类网络预测图像的类别时,通常可以输出该图像属于每个类别的置信度(也称为分类准确率),将每个置信度与预设的置信度阈值进行对比,从而将大于置信度阈值的置信度对应的类别预测为该图像的类别。然而,在图像分类网络的训练图像中,不同类别的图像在数据量、可分性上往往存在较大差异,导致训练的图像分类网络在采用相同的置信度阈值对不同类别的图像进行实际预测时,对于有些类别的图像能够准确分类,但对于有些类别的图像就分类不准确,导致图像分类网络的分类准确率较低。因此,亟需一种分类准确率高的图像分类网络。


技术实现要素:

4.本说明书提供的图像分类网络的训练方法、图像分类方法和系统,可以提高图像分类网络的分类准确率。
5.第一方面,本说明书提供一种图像分类网络的训练方法,包括:获取多种类别的训练图像;以及基于所述训练图像迭代训练所述图像分类网络直至预设的迭代次数,使得当所述图像分类网络采用相同的置信度阈值对不同类别的目标图像进行分类时,每种类别的目标图像的分类准确率超过预设准确率,其中,所述训练所述图像分类网络包括:计算无偏损失信息,所述无偏损失信息表征不同类别的所述训练图像在特征空间中的特征分布之间的分布偏差,以及以最小化所述无偏损失信息为约束条件训练所述图像分类网络,达到所述迭代次数时所述分布偏差小于预设偏差值。
6.在一些实施例中,所述训练图像包括真实场景的无标签图像。
7.在一些实施例中,所述无标签图像包括经过数据增广的图像,所述数据增广至少包括如下一种:纹理增广以及敏感区域掩码增广。
8.在一些实施例中,所述计算无偏损失信息包括:获取自适应网络,所述自适应网络与所述图像分类网络的网络结构相同;以及基于所述训练图像采用所述元学习的方式训练所述自适应网络,并通过所述自适应网络计算所述无偏损失信息。
9.在一些实施例中,所述自适应网络的初始参数与所述图像分类网络的初始参数相同,所述图像分类网络的初始参数是在首次迭代训练之前经过有监督训练后的参数。
10.在一些实施例中,所述基于所述训练图像采用所述元学习的方式训练所述自适应网络包括:获取所述训练图像中真实场景的无标签图像,所述无标签图像包括多批图像,每批图像中包括元训练图像和元测试图像;采用所述多批图像中的所述元训练图像和所述元
测试图像训练所述自适应网络。
11.在一些实施例中,所述无标签图像具有虚拟标签,所述虚拟标签是所述图像分类网络为所述无标签图像生成的。
12.在一些实施例中,所述元训练图像中还包括有标签图像。
13.在一些实施例中,所述基于所述自适应网络计算所述无偏损失信息包括:从所述自适应网络中获取不同类别的所述训练图像在所述特征空间中的所述特征分布,得到多种所述特征分布;根据无偏损失函数计算多种所述特征分布之间的所述分布偏差;以及将所述分布偏差确定为所述无偏损失信息。
14.在一些实施例中,所述图像分类网络包括表情识别网络,所述训练图像包括表情图像,所述类别包括表情类别。
15.第二方面,本说明书还提供一种图像分类方法,包括:获取开放场景中的目标图像,所述开放场景是未使用所述图像分类网络进行分类的场景;以及将所述目标图像输入所述图像分类网络进行分类,输出所述目标图像的类别,其中,所述图像分类网络根据第一方面所述的训练方法训练得到。
16.第三方面,本说明书还提供一种图像分类系统,包括至少一个存储介质以及至少一个处理器,所述至少一个存储介质存储有用于图像分类的图像分类网络;所述至少一个处理器同所述至少一个存储介质通信连接,其中当所述图像分类系统运行时,所述至少一个处理器读取所述图像分类网络并实施第二方面的图像分类方法,所述图像分类网络根据第一方面所述的训练方法训练得到。
17.由以上技术方案可知,本说明书提供的图像分类网络的训练方法中,计算无偏损失信息,以最小化所述无偏损失信息为约束条件训练所述图像分类网络,所述无偏损失信息表征不同类别的训练图像在特征空间中的特征分布之间的分布偏差,也即是,最小化不同类别的训练图像之间的分布偏差使其最终小于预设偏差值,使得不同类别的训练图像的特征分布近似相等,这样完成训练的图像分类网络就能采用相同的置信度阈值对不同类别的目标图像进行分类,且每种类别的目标图像的分类准确率都超过预设准确率,也即是,图像分类网络能够采用相同的置信度阈值对不同类别的图像全部进行准确分类,从而提高分类准确率。
18.本说明书提供的图像分类方法中,获取开放场景中的目标图像,所述开放场景是未使用图像分类网络进行分类的场景,将目标图像输入图像分类网络进行分类,输出目标图像的类别,由于图像分类网络对所有类别的图像都可以正确分类,因此能够实现对目标图像的准确分类。
19.本说明书提供的图像分类网络的训练方法、图像分类方法和系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的图像分类网络的训练方法、图像分类方法和图像分类系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
附图说明
20.为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要
train(元训练数据)和meta-test(元测试数据),不断使用meta-train进行训练再使用meta-test进行校验,迭代该过程从而使得模型具有更好的跨数据分布的鲁棒性。
35.无偏约束:在表情识别中往往会涉及到不同类别的表情样本的数据分布差异较大的问题,在特征空间不同类别表情的精度(分类准确率)偏差会较大,通过无偏约束可以该问题。所谓“特征空间”,是指图像分类网络可以将训练图像映射到隐层的特征空间,然后将在特征空间中学习到的特征映射到标记空间以标记图像的类别,即完成对训练图像的分类。
36.表情识别:人类的表情,比如高兴、生气、伤心等,作为一种心理状态的表达从脸部表现出来,因此可以通过人脸的表情来判断人类的心理状态或情绪状态,在计算机视觉领域中人脸表情识别(fer,facial expression recognition)被视作分类问题,它在人机交互中得到广泛应用。
37.在对本说明书具体实施例说明之前,对本说明书的应用场景进行如下介绍:
38.本说明书提供的图像分类网络可以应用于对任意的图像进行分类的场景中。比如,在智慧交通场景中,可以通过本说明书的图像分类网络对车辆图像进行分类,分类成轿车、客车、货车等类别。在人脸识别场景中,可以通过本说明书的图像分类网络对人脸图像进行分类,根据人脸识别的目的可以将人脸识别分为活体识别和表情识别。在活体识别的场景中,可以通过本说明书的图像分类网络将人脸图像分成真实人脸和攻击人脸这两种类别。表情识别又可以分为单任务的表情识别和多任务的表情识别,在单任务的表情识别中,可以将人脸图像作为人脸的表情图像,通过本说明书的图像分类网络将表情图像分成高兴、生气、伤心、愤怒、厌恶等多种类别。在多任务的表情识别中,除了识别表情,还可以引入与表情相关的多种人脸属性信息,即一张人脸图像可以对应多种标签,从而构建多任务学习框架。比如,单任务的表情识别中只需要识别每张图像的表情类别,而在多任务的表情识别中,可以先识别每张表情图像的性别,再识别每张表情图像的表情类别,显然,多任务表情识别比单任务表情识别的标注成本较高,训练过程也相对复杂。为了便于描述,以下将以单任务的表情识别场景为例对图像分类网络进行介绍。
39.人类的脸部表情,比如微笑、大笑、哭泣、皱眉、白眼等,可以反映人类的心理状态/情绪状态,比如,高兴、生气、伤心、厌恶等,因此可以通过人脸的表情来判断人类的情绪状态,从而实现有关人脸表情的相关应用。在人脸识别系统中可以通过表情识别结果判断采集人当前的情绪状态,根据情绪状态推断其刷脸的意愿(比如,若判断采集人是高兴的,则推断其愿意刷脸,若判断采集人是厌恶的,则推断其不愿意刷脸),从而将人脸表情识别作为整体刷脸链路的软启动判断依据之一。其中,刷脸比如是门禁刷脸、支付刷脸、解锁刷脸等。表情识别技术还可以应用到多种不同的具体场景中,比如,应用到商场门店的顾客情绪分析的场景,在该场景中,可以通过摄像头捕获商场或门店的顾客画面,分析其面部表情,再进一步解读出客人的情绪状态,从而分析顾客在商场的体验满意度。再比如,表情识别技术可以应用到人机交互的场景,具体地,用户在使用某款app(application,应用程序)时,该app可以通过打开手机的摄像头分析用户的面部表情,进而判断用户对当前显示界面中内容的喜爱度和厌恶度,从而为用户推送满足用户需求的内容。
40.然而,在表情识别数据集中,不同类别的表情图像的数据量可能存在较大差异,比如,人类在一天中做出高兴的表情较多,而做出厌恶的表情相对较少,所以在数据采集时,
高兴的表情图像对应的数据量可能远远大于厌恶的表情图像对应的数据量。而且,不同类别的表情图像的可分性也存在较大差异,比如,微笑、大笑、抿嘴笑等都很容易被划分到“高兴”这一类别,可分性较好。而人类厌恶的表情千奇百怪,如皱眉、冷笑、斜眼、白眼、瞪大眼睛、甚至面无表情都属于“厌恶”这一类别,但是冷笑容易被划分到“高兴”的类别,瞪大眼睛容易被划分到“恐惧”的类别,可见“厌恶”这一类别的可分性较差。由此可见,表情识别数据集往往呈现出不同类别的表情图像在数据量和可分性上的差异均较大的偏差。
41.那么,基于上述表情识别数据集训练出来的表情识别网络(表情分类网络)在使用相同的置信度阈值对不同类别的表情图像进行实际预测时,对有些类别的表情图像能够分类准确,而对有些类别的表情图像却分类不准确,网络会更偏向于将表情图像分类到数据量大、可分性好的那个类别。换言之,不是所有类别的表情图像用相同的置信度阈值去分类时都能够准确分类,即不同类别的表情图像之间存在置信度阈值的偏差,从而导致表情识别网络分类准确率较低。比如,表情识别网络采用同一个置信度阈值分类时,能够将实际是“高兴”的表情图像准确分类到“高兴”这个类别,但却将实际是“厌恶”的表情图像错误分类到“高兴”的类别或者其他类别。
42.另一方面,人脸表情在多种状态下呈现不稳定、不规律的状态,所以表情识别数据集中的数据分布和真实场景中的数据分布存在较大的差异性,导致基于表情识别数据集训练的表情识别网络难以部署在真实场景中,即难以实现在真实场景中的鲁棒性。
43.而通过将本说明书提供的图像分类网络的训练方法应用在人脸表情识别中,即通过计算无偏损失信息,以最小化所述无偏损失信息为约束条件训练所述图像分类网络,使得完成训练的表情识别网络能够采用相同的置信度阈值对不同类别的图像全部进行准确分类,达到不同类别的图像之间置信度阈值无偏化的效果,也即是,表情识别网络能够针对不同类别的表情图像的置信度阈值实现无偏预测,从而实现更好的表情识别准确率。
44.而且,本说明书可以通过在训练图像中引入真实场景的无标签图像进行半监督训练,而不是仅基于有标签图像进行有监督训练,使得训练出来的图像分类网络不仅在测试图像上能表现出足够的效果,而且在面对数据分布未知的真实场景时依然好用,即,将其部署在真实场景中的分类准确率依然很高,进而满足在真实场景的部署需求,提高在真实场景的鲁棒性。
45.图1示出了根据本说明书的一些实施例提供的一种图像分类系统001的应用场景示意图。如前所述,图像分类系统001(以下简称系统001)可以用于任意图像分类的场景,图1以人脸识别为例示意了图像分类系统001的应用场景。如图1所示,系统001可以包括目标用户100、客户端200、服务器300以及网络400。
46.目标用户100可以是等待进行人脸识别的用户或正在进行人脸识别的用户。目标用户100可以在客户端200上进行人脸识别。
47.客户端200可以是能够对图像进行采集的设备,比如对目标用户100进行人脸采集。在一些实施例中,所述图像分类方法(如人脸识别方法)可以在客户端200上执行。此时,客户端200可以存储有执行本说明书描述的图像分类方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,客户端200可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。如图1所示,客户端200可以与服务器300进行通信连接。在一些实施例中,服务器300可以与多个客户端200进行通信连接。在一些实施
例中,客户端200可以通过网络400与服务器300交互,以接收或发送消息等,比如接收或发送人脸图像或人脸特征,例如二维特征和/或三维特征。在一些实施例中,客户端200可以包括移动设备、平板电脑、笔记本电脑、机动车辆的内置设备或类似内容,或其任意组合。在一些实施例中,所述移动设备可包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备或类似设备,或其任意组合。在一些实施例中,所述智能家居装置可包括智能电视、台式电脑等,或任意组合。在一些实施例中,所述智能移动设备可包括智能手机、个人数字辅助、游戏设备、导航设备等,或其任意组合。在一些实施例中,所述虚拟现实设备或增强现实设备可能包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强现实头盔、增强现实眼镜、增强现实补丁或类似内容,或其中的任何组合。例如,所述虚拟现实设备或所述增强现实设备可能包括谷歌眼镜、头戴式显示器、vr等。在一些实施例中,所述机动车中的内置装置可包括车载计算机、车载电视等。在一些实施例中,客户端200可以包括图像采集设备,用于采集需要分类的图像,比如目标用户100的人脸图像。在一些实施例中,所述图像采集设备可以是二维图像采集设备(比如rgb摄像头),也可以是二维图像采集设备(比如rgb摄像头)和深度图像采集设备(比如3d结构光摄像头、激光探测器,等等)。在一些实施例中,客户端200可以是具有定位技术的设备,用于定位客户端200的位置。
48.在一些实施例中,客户端200可以安装有一个或多个应用程序(app)。所述app能够为目标用户110提供通过网络400同外界交互的能力以及界面。所述app包括但不限于:网页浏览器类app程序、搜索类app程序、聊天类app程序、购物类app程序、视频类app程序、理财类app程序、即时通信工具、邮箱客户端、社交平台软件等等。在一些实施例中,客户端200上可以安装有目标app。所述目标app能够为客户端200采集人脸图像。在一些实施例中,所述目标app还能对所述目标用户100进行人脸识别。目标用户100可以通过所述目标app触发人脸识别请求。所述目标app可以响应于所述人脸识别请求,执行人脸识别的方法。
49.服务器300可以是提供各种服务的服务器,例如对客户端200上显示的页面提供支持的后台服务器。在一些实施例中,所述图像分类方法可以在服务器300上执行。此时,服务器300可以存储有执行本说明书描述的图像分类方法的数据或指令,并可以执行或用于执行所述数据或指令。在一些实施例中,服务器300可以包括具有数据信息处理功能的硬件设备和驱动该硬件设备工作所需必要的程序。服务器300可以与多个客户端200通信连接,并接收客户端200发送的数据。
50.网络400用以在客户端200和服务器300之间提供通信连接的介质。网络400可以促进信息或数据的交换。如图1所示,客户端200和服务器300可以同网络400连接,并且通过网络400互相传输信息或数据。在一些实施例中,网络400可以是任何类型的有线或无线网络,也可以是其组合。比如,网络400可以包括电缆网络,有线网络、光纤网络、电信通信网络、内联网、互联网、局域网(lan)、广域网(wan)、无线局域网(wlan)、大都市市区网(man)、广域网(wan)、公用电话交换网(pstn)、蓝牙网络、zigbee网络、近场通信(nfc)网络或类似网络。在一些实施例中,网络400可以包括一个或多个网络接入点。例如,网络400可以包括有线或无线网络接入点,如基站或互联网交换点,通过该接入点,客户端200和服务器300的一个或多个组件可以连接到网络400以交换数据或信息。
51.应该理解,图1中的客户端200、服务器300和网络400的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端200、服务器300和网络400。
52.需要说明的是,所述图像分类方法可以完全在客户端200上执行,也可以完全在服务器300上执行,还可以部分在客户端200上执行,部分在服务器300上执行。
53.图2示出了根据本说明书的一些实施例提供的一种计算设备600的硬件结构图。计算设备600可以执行本说明书描述的图像分类网络的训练方法、图像分类方法。所述图像分类网络的训练方法和图像分类方法在本说明书中的其他部分介绍。执行所述图像分类网络的训练方法的计算设备与执行所述图像分类方法的计算设备可以是同一个计算设备100,也可以是两个独立的计算设备100。当所述图像分类网络的训练方法和图像分类方法在客户端200上执行时,计算设备600可以是客户端200。当所述图像分类网络的训练方法和图像分类方法在服务器300上执行时,计算设备600可以是服务器300。当所述图像分类网络的训练方法和图像分类方法可以部分在客户端200上执行,部分在服务器300上执行时,计算设备600可以是客户端200和服务器300。
54.如图2所示,计算设备600可以包括至少一个存储介质630和至少一个处理器620。在一些实施例中,计算设备600还可以包括通信端口650和内部通信总线610。同时,计算设备600还可以包括i/o组件660。
55.内部通信总线610可以连接不同的系统组件,包括存储介质630、处理器620和通信端口650。
56.i/o组件660支持计算设备600和其他组件之间的输入/输出。
57.通信端口650用于计算设备600同外界的数据通信,比如,通信端口650可以用于计算设备600同网络400之间的数据通信。通信端口650可以是有线通信端口也可以是无线通信端口。
58.存储介质630可以包括数据存储装置。所述数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,所述数据存储装置可以包括磁盘632、只读存储介质(rom)634或随机存取存储介质(ram)636中的一种或多种。存储介质630可以存储有用于训练图像分类网络的至少一个指令集,还可以存储完成训练的图像分类网络对应的至少一个指令集。所述指令是计算机程序代码,所述计算机程序代码可以包括执行本说明书提供的人脸识别的方法的程序、例程、对象、组件、数据结构、过程、模块等等。
59.至少一个处理器620可以同至少一个存储介质630以及通信端口650通过内部通信总线610通信连接。至少一个处理器620用以执行上述至少一个指令集。当计算设备600运行时,至少一个处理器620可以读取所述用于训练图像分类网络的至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的图像分类网络的训练方法。当计算设备600运行时,至少一个处理器620还可以读取所述图像分类网络对应的至少一个指令集,并且根据所述至少一个指令集的指示,执行本说明书提供的图像分类方法。处理器620可以执行图像分类网络的训练方法、图像分类方法包含的所有步骤。处理器620可以是一个或多个处理器的形式,在一些实施例中,处理器620可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令集处理器(asip),中心处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。仅仅为了说明问题,在本说明书中计算设备600中仅描述了一个处理器620。然而,应当注意,本说明书中计
算设备600还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备600的处理器620执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同处理器620联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。
60.图3示出了根据本说明书的一些实施例提供的一种图像分类网络的训练方法p100的流程图。如前所述,计算设备600可以执行本说明书所述的图像分类网络的训练方法p100。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据所述指令集的规定,执行本说明书所述的图像分类网络的训练方法p100。如图3所示,所述方法p100可以包括:
61.s120:获取多种类别的训练图像。
62.处理器620可以获取有标签的图像数据集,将有标签的图像数据集作为图像分类网络的训练图像,也可以获取真实场景中无标签的图像,将真实场景中无标签的图像作为所述训练图像,还可以将有标签的图像数据集和真实场景中无标签的图像共同作为所述训练图像。对于所述真实场景中无标签的图像,处理器620可以先获取摄像头采集的原始图像,对该原始图像进行预处理,进而将预处理后的图像作为真实场景的无标签图像。图4示出了根据本说明书的一些实施例提供的一种表情识别方法的流程示意图,在图4中,摄像头采集的原始图像是人群图像,处理器620获取到人群图像后对其进行预处理,得到一张张人脸图像,如图4中的戴口罩的人脸图像、黑色皮肤的人脸图像以及侧面的人脸图像,进而将多张人脸图像作为真实场景的无标签图像。
63.有标签的图像数据集和真实场景中无标签的数据之间往往存在较大的差异性。比如,图像数据集中图像的分类特点(用于分类的图像特征)比较完整,且分类特点非常突出,每张图像的可分性较好(即容易被正确分类),而且不同类别的图像之间的区分度较大。以有标签的表情识别数据集为例,表情识别的分类特点是指整个脸部区域,脸部区域包括五官、额头区域、脸颊区域、下巴区域等。如图4所示,表情识别数据集中的每张表情图像都是正面的人脸,脸部区域基本全部显露,高兴的表情图像具有非常明显的嘴角上扬的特点,很容易被分类到“高兴”这一类别,恐惧的表情图像具有非常明显的眉毛抬起并集中在一起、额头的皱纹集中在中部的特点,很容易被分类到“恐惧”这一类别,而且高兴的表情图像和恐惧的表情图像之间的区分度很大,很容易将两者区分开来。
64.而相反地,真实场景中的图像存在各种各样的数据表现,图像的分类特点部分缺失且不突出,每张图像的可分性较差,而且不同类别的图像之间的区分度可能不是很大。比如,图4的真实场景中的人脸识别数据中,包含戴口罩的人脸图像、黑色皮肤的人脸图像以及侧面的人脸图像,戴口罩的人脸图像中,脸部区域不完全显露,导致部分分类特点缺失,可分性较差;黑色皮肤的人脸图像中,脸部区域的颜色和黑色背景的颜色相近,不易识别人脸表情,可分性较差;侧面的人脸图像中,脸部区域不完整,同样可分性较差。由于部分图像的可分性较差,因此这类图像之间的区分度也较低。
65.由于有标签的图像数据集和真实场景中无标签的数据之间存在较大的差异性,因此,如果仅仅基于有标签的图像数据集对图像分类网络进行有监督训练,那么,当图像分类网络在面对真实场景中的图像时,可能无法对其正确分类,导致在图像数据集上训练的图
像分类网络在真实场景中无法使用,即在真实场景的可部署性较差。因此,在本说明书中,训练图像包括真实场景的无标签图像。在一些实施例中,处理器620可以只用真实场景的无标签数据对图像分类网络进行无监督训练。在另一些实施例中,训练图像中还可以包括有标签的图像数据集中的图像,相应地,处理器620可以使用有标签的图像数据集和无标签的真实场景数据共同对图像分类网络进行半监督训练。比如,处理器620采用图4中的有标签的表情识别数据集和真实场景中无标签的人脸识别数据共同对表情识别网络进行半监督训练。这样,通过在训练图像中引入真实场景的无标签图像,使得训练出来的图像分类网络能够在面对真实场景时依然好用,即,将其部署在真实场景中的分类准确率依然很高,进而实现在真实场景的可部署性,提高其鲁棒性。
66.图5示出了根据本说明书的一些实施例提供的一种数据增广的示意图。为了进一步提升图像分类网络在真实场景的鲁棒性,处理器620可以对真实场景中的无标签数据进行数据增广,进而将真实场景中无标签的原始图像和对其进行数据增广的多张变形图像共同作为所述训练图像。其中,所述数据增广是指对同一张无标签的原始图像进行不同形式的变形,得到多张变形图像,进而实现将一张无标签的原始图像增广为多张无标签的变形图像。
67.如图5所示,所述数据增广可以包括纹理增广以及敏感区域掩码增广。所述纹理增广是指将原始图像的纹理进行多种不同形式的变形,比如对比度变换、旋转、水平翻转、水平翻转加噪声、曝光(调整亮度)、掩膜、随机扣取和/或尺度变换等等。如图5(a)所示,所述对比度变换是指变换原始图像的对比度。如图5(b)所示,所述旋转是指将原始图像旋转一定角度,比如向右旋转15度角。如图5(c)所示,所述水平翻转是指将原始图像在水平方向上进行翻转。如图5(d)所示,所述水平翻转加噪声是指将原始图像在水平方向上翻转后增加噪声。如图5(e)所示,所述曝光是指调整原始图像的亮度。如图5(f)所示,所述掩膜是指在原始图像上增加一层掩膜。所述随机扣取是指从原始图像中扣取任意的局部区域(图中未示出)。所述尺度变换是指变换原始图像的尺度大小(图中未示出)。
68.所述敏感区域掩码增广是指将原始图像的敏感区域进行掩码(mask)处理,所述敏感区域是指对分类任务比较敏感的区域,比如,五官、额头区域对表情变换比较敏感,因此表情识别任务的敏感区域就是五官和额头区域;而脸颊区域对表情变换不太敏感,即人脸做不同表情时,脸颊区域的变化不大,所以脸颊区域就不属于表情识别任务的敏感区域。所述掩码处理是指在敏感区域增加一层掩码,使得敏感区域处的像素值为0,在可视化图像上显示为敏感区域被扣取的效果。如图5(g)所示,所述敏感区域为眼睛;如图5(h)所示,所述敏感区域为嘴巴;如图5(i)所示,所述敏感区域为鼻子;如图5(j)所示,所述敏感区域为额头。
69.通过对真实场景中的无标签数据进行纹理增广以及敏感区域掩码增广,提升了真实场景数据在纹理和敏感区域方面的多样性,进而提升图像分类网络的训练数据的多样性,进而提升图像分类网络在真实场景的鲁棒性。需要说明的是,除了上述纹理增广和敏感区域掩码增广还可以包括其他任何形式的增广,本领域技术人员可以理解的是,任何形式的数据增广都在本说明书的保护范围中。
70.另外,所述训练图像可以包括多种类别,在表情识别任务中,训练图像为表情图像,表情图像包括多种表情类别,比如为高兴、伤心、厌恶和/或愤怒等。
71.如图3所示,所述方法p100还可以包括:
72.s140:基于所述训练图像迭代训练所述图像分类网络直至预设的迭代次数。
73.迭代次数可以是工作人员根据图像分类网络的收敛状态设置的迭代训练的次数,即图像分类网络达到迭代次数时可以说明网络已处于收敛状态,也说明训练完毕图像分类网络。
74.处理器620在首次迭代训练所述图像分类网络之前,可以先从有标签的图像数据集中采用随机采样的方式挑选出少量有标签图像对图像分类网络进行有监督的预训练,有监督训练的过程中可以产生有监督的损失信息,采用所述有监督的损失信息训练所述图像分类网络(比如在图4中,采用有监督fer损失训练表情识别网络),将其训练成在所述图像数据集上可用的状态,即经过有监督训练的图像分类网络对图像数据集中的图像进行预测时的分类准确率超过预设值。此时,我们称图像分类网络的参数为初始参数。
75.除了采用随机采样的方式挑选有标签图像之外,处理器620还可以采用无监督聚类的方式从图像数据集中筛选出对图像分类网络增益有帮助的困难样本(hardcase),增加困难样本被采样到的概率,从而可以结合困难样本对图像分类网络进行有监督训练,还可以在后续对图像分类网络的每次迭代训练中引入该困难样本。具体地,处理器620将图像数据集中的图像输入图像分类网络后,所有训练图像在特征空间中时真实标签都是未知的,因此图像分类网络可以在特征空间对所有训练图像进行无监督聚类,此时相同类别的图像大概率会聚在一起,远离聚类中心会有一些离群的图像,这些离群的图像就是困难样本,从而实现困难样本的获取。通过引入困难样本可以增加图像分类网络整体的训练收敛速度。
76.处理器620在对图像分类网络进行有监督训练之后,就可以开始基于所述训练图像迭代训练所述图像分类网络,直至迭代次数达到预设的迭代次数。图6示出了根据本说明书的一些实施例提供的一种图像分类网络的训练方法流程图,如图6所示,处理器620每次训练所述图像分类网络时,可以执行步骤s142和s144。
77.s142:计算无偏损失信息。
78.如前所述,图像分类网络可以将训练图像映射到隐层的特征空间,然后将在特征空间中学习到的特征映射到标记空间以标记图像的类别,即完成对训练图像的分类。而所述训练图像包括多种类别,不同类别的训练图像呈现的特点不同(如数据量不同),将其映射到特征空间中后,不同类别的训练图像在特征空间中所占的特征分布也不同,也即是,不同类别的训练图像在特征空间中的特征分布之间存在偏差,为了便于描述,称其为“分布偏差”。所谓“特征分布”可以理解成在特征空间中的占比,某类训练图像在特征空间中的特征占比较多,则其特征分布就多,某类训练图像在特征空间中的特征占比较少,则其特征分布就少。比如,如图4所示,在表情识别任务中,示出了四个柱状图,每个柱状图代表在用所有训练图像训练一次表情识别网络(表情识别网络遍历一次训练图像)的过程中,不同类别的表情图像在表情特征空间中的特征分布,每个柱子代表一个类别的表情图像,柱子的高度代表不同类别的表情图像的特征分布的大小。可以看出,不同类别的训练图像在特征空间中的特征分布之间存在分布偏差。
79.所述无偏损失信息就可以用来衡量上述分布偏差,即所述无偏损失信息可以表征不同类别的训练图像在特征空间中的特征分布之间的分布偏差。处理器620可以通过多种方式计算所述无偏损失信息,作为一种示例,以下介绍一种通过自适应网络辅助训练的方
式计算所述无偏损失信息的过程,该过程可以包括:
80.s142-1:获取自适应网络。
81.为了便于辅助训练图像分类网络,处理器620可以获取一个网络结构与图像分类网络的网络结构相同的自适应网络。需要说明的是,若将图像分类网络应用在表情识别任务中,表情识别网络可以是ppdn(peak-piloted deep network,峰值引导深度网络)网络,该网络通过监督峰值状态的表情以提高非峰值状态的表情识别,同时引入正则化函数facenet2expnet用于表情分类,但该函数的复杂度较高,很难进行训练。因此,本说明书也可以采用其他表情识别网络,比如,采用vgg19和resnet18结合的网络。本说明书对图像分类网络具体采用哪种结构的网络不做限定,只要是能用于图像分类的网络,都在本说明书的保护范围内。
82.如前所述,处理器620可以对图像分类网络进行预训练,那么,处理器620可以将完成预训练的图像分类网络的初始参数复制到自适应网络上,即两个网络的初始参数可以相同,以实现对自适应网络的初始化。
83.s142-3:基于所述训练图像采用所述元学习的方式训练所述自适应网络,并通过所述自适应网络计算所述无偏损失信息。
84.处理器620可以从所述训练图像中获取真实场景的无标签图像,利用图像分类网络为所述无标签图像生成虚拟标签,基于所述无标签图像及其虚拟标签采用元学习的方式训练所述自适应网络。所谓“元学习”,就是将所述无标签图像划分为多批图像,每批(minibatch)图像包括预设数值张无标签图像,如64张、128张、256张等,在每批图像中,随机生成多组元训练图像和元测试图像,不断使用每组的元训练图像训练再使用元测试图像去校验,迭代该过程,直到使用完一批图像,再到使用完多批图像的训练过程。处理器620可以获取无标签图像中的多批图像,采用多批图像中的元训练图像和元测试图像去训练自适应网络。
85.大量的训练图像中,不同类别的训练图像的数据量不同,若将其一次性投入网络训练,在特征空间中的分布偏差则会非常明显。而将大量的训练数据划分为少量元训练数据和元测试数据,可以在元训练数据中平衡不同类别图像的比例,即元训练数据中不同类别的数据量相似,从而可以降低其在特征空间中的分布偏差,因此在网络预测时不同类别的图像可以用同一个置信度阈值去预测,增强了图像分类网络整体的在真实场景中部署的鲁棒性。
86.需要说明的是,为了避免将自适应网络训练到一个无法收敛的状态,处理器620可以从有标签的图像数据集中获取少量有标签图像加入到元训练图像中,采用所述少量的有标签图像和大量的无标签图像对自适应网络进行半监督训练,半监督训练的过程中可以产生半监督的损失信息,采用所述半监督的损失信息训练所述自适应分类网络(比如在图4中,采用半监督fer损失训练自适应分类网络)。
87.处理器620在训练所述自适应网络的过程中,可以将训练图像映射到特征空间,因此可以从自适应网络中获取到不同类别的训练图像在特征空间中的特征分布,进而得到多种类别对应的多种特征分布,根据无偏损失函数计算多种所述特征分布之间的所述分布偏差,并将所述分布偏差确定为所述无偏损失信息。作为一种示例,处理器620可以根据无偏损失函数计算每两种特征分布之间的分布偏差,得到多个分布偏差,将所述多个分布偏差
作为无偏损失信息。作为另一种示例,处理器620可以计算所述多种特征分布的平均值,然后计算每个特征分布与所述平均值之间的差值,得到多个差值,将所述多个差值作为无偏损失信息。处理器620还可以通过其他方法计算所述无偏损失信息,本说明书实施例对此不作限定。
88.需要说明的是,以上只是以一个自适应网络为例辅助训练图像分类网络,本说明书还可以采用多个自适应网络共同辅助训练所述图像分类网络,相应地,所述无偏损失信息就是多个自适应网络各自的无偏损失信息的综合结果,比如加权结果。
89.s144:以最小化所述无偏损失信息为约束条件训练所述图像分类网络,达到所述迭代次数时所述分布偏差小于预设偏差值。
90.由于自适应网络和图像分类网络的结构相同,因此,可以用自适应网络计算的无偏损失信息去约束图像分类网络的训练。在一些实施例中,处理器620可以以最小化所述无偏损失信息作为图像分类网络的约束条件去训练图像分类网络。作为一种示例,处理器620在计算出每两种特征分布之间的分布偏差得到多个分布偏差后,可以最小化每个分布偏差,以此为约束条件训练图像分类网络。作为另一种示例,处理器620在计算出每个特征分布与所述平均值之间的差值得到多个差值后,可以最小化每个差值,以此为约束条件训练图像分类网络,本说明书实施例对此不作限定。
91.通过最小化无偏损失信息为约束条件不断训练图像分类网络,使得不同类别的训练图像之间的分布偏差逐渐减小,直到小于预设偏差值,且不同类别的训练图像的特征分布能平均划分整个特征空间,比如,有三种类别的训练图像,达到所述迭代次数时,这三种类别的训练图像在特征空间中的特征分布(占比)各为1/3。其中,所述预设偏差值可以是一个很小的值,比如,0.1等。如图4所示,在表情识别任务中,随着用无偏损失信息对表情识别网络的不断迭代训练,使得多类表情图像在特征空间中无偏收敛,也即是,使得不同类别的表情图像之间的分布偏差从图4的柱状图(1)变为柱状图(2),再变为柱状图(3),直到到达迭代次数p时,这种分布偏差为柱状图(p)中的效果,此时多种类别的表情图像之间的分布偏差非常小。
92.可以看出,自适应网络和图像分类网络是并行地端到端训练,可以理解成一个共同体。处理器620可以每训练一次自适应网络后训练一次图像分类网络,即,先训练一次自适应网络,计算一次无偏损失信息,基于无偏损失信息训练一次图像分类网络,然后再第二次训练自适应网络,第二次计算无偏损失信息,第二次基于无偏损失信息训练图像分类网络,以此循环,直到图像分类网络的训练次数达到预设的迭代次数为止。当然,处理器620也可以每训练多次自适应网络后训练一次图像分类网络,即,先训练多次自适应网络,计算一次无偏损失信息,基于无偏损失信息训练一次图像分类网络,然后再训练多次自适应网络,第二次计算无偏损失信息,第二次基于无偏损失信息训练图像分类网络,以此循环,直到图像分类网络的训练次数达到预设的迭代次数为止。
93.综上所述,本说明书提供的图像分类网络的训练方法p100和系统001,通过最小化所述无偏损失信息,能够使所述分布偏差小于预设偏差值,即不同类别的训练图像的特征分布近似相等,这样使得当所述图像分类网络采用相同的置信度阈值对不同类别的目标图像进行分类时,每种类别的目标图像的分类准确率都超过预设准确率,提高分类准确率。在训练过程中采用基于元学习的无偏约束,使得网络在特征空间针对不同的类别的置信度阈
值实现无偏预测。
94.而且,本说明书充分利用真实场景的图像数据(如真实场景中的人脸识别数据)来扩充图像分类(如表情识别)的数据多样性,将扩充的数据引入到训练数据中,再通过半监督学习的方式进行优化,从而有效的提升图像分类网络(如表情识别网络)的数据多样性,以实现在真实场景中的可部署性,提高鲁棒性。
95.图7示出了根据本说明书的一些实施例提供的一种图像分类方法p200的流程图。如前所述,计算设备600可以执行本说明书所述的图像分类方法p200。具体地,处理器620可以读取存储在其本地存储介质中的指令集,然后根据所述指令集的规定,执行本说明书所述的图像分类方法p200。如图7所示,所述方法p200可以包括:
96.s220:获取开放场景中的目标图像。
97.所述开放场景是指未采用开放场景中的图像训练图像分类网络,在当前时刻之前也未使用图像分类网络对开放场景中的目标图像进行过分类的未知场景。
98.s240:将所述目标图像输入所述图像分类网络进行分类,输出所述目标图像的类别。
99.处理器620可以将目标图像输入通过图3的训练方法训练的图像分类网络,由于该图像分类网络对所有类别的图像都可以正确分类,因此同样可以准确输出所述目标图像的类别。
100.本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行数据处理的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的图像分类网络的训练方法p100、图像分类方法p200的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备600上运行时,所述程序代码用于使计算设备600执行本说明书描述的图像分类网络的训练方法p100、图像分类方法p200的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)包括程序代码,并可以在计算设备600上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计
语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在计算设备600上执行、部分地在计算设备600上执行、作为一个独立的软件包执行、部分在计算设备600上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
101.上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
102.综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
103.此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
104.应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
105.本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
106.最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。
再多了解一些

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

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

相关文献