CN112132230B - 图像分类方法及装置 - Google Patents
图像分类方法及装置 Download PDFInfo
- Publication number
- CN112132230B CN112132230B CN202011072495.0A CN202011072495A CN112132230B CN 112132230 B CN112132230 B CN 112132230B CN 202011072495 A CN202011072495 A CN 202011072495A CN 112132230 B CN112132230 B CN 112132230B
- Authority
- CN
- China
- Prior art keywords
- training
- image
- images
- image classification
- classification model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012549 training Methods 0.000 claims abstract description 370
- 238000013145 classification model Methods 0.000 claims abstract description 140
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000002156 mixing Methods 0.000 claims abstract description 54
- 238000003860 storage Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 41
- 238000009826 distribution Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 9
- 241001465754 Metazoa Species 0.000 description 37
- 230000008569 process Effects 0.000 description 37
- 238000013527 convolutional neural network Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000009328 Perro Species 0.000 description 1
- 239000012805 animal sample Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种图像分类方法、装置、电子设备及计算机可读存储介质;涉及人工智能领域中的图像处理技术,方法包括:获取至少两种不同模态的训练图像、以及所述训练图像对应的标签;对所述至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像;对所述至少两种不同模态的训练图像对应的标签进行混合处理,得到所述虚拟模态图像对应的标签;根据所述至少两种不同模态的训练图像、所述虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练;根据训练后的所述图像分类模型执行图像分类任务。通过本申请,能够提升图像分类模型对于新模态图像的识别能力。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像分类方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
其中,图像处理技术是人工智能技术中的重要分支。通过图像处理技术,可以根据图像中包括的内容,基于图像分类模型对图像进行分类。
然而,由于实际应用场景的复杂性,例如对于一个动物图像分类模型,图像的类型可能是真实照片、也可能是卡通动画。使用真实照片进行训练得到的动物图像分类模型,拟合的是真实照片中动物的数据分布,而卡通动画中动物的数据分布显然是与真实照片不同的。在这种情况下,使用真实照片当作训练数据得到的动物图像分类模型,就无法解决对于卡通动画中动物的分类问题。也就是说,相关技术提供的图像分类模型可扩展性较差,无法解决对于新模态图像的分类问题。
发明内容
本申请实施例提供一种图像分类方法、装置、电子设备及计算机可读存储介质,能够提升图像分类模型对于新模态图像的识别能力。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种图像分类方法,包括:
获取至少两种不同模态的训练图像、以及所述训练图像对应的标签;
对所述至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像;
对所述至少两种不同模态的训练图像对应的标签进行混合处理,得到所述虚拟模态图像对应的标签;
根据所述至少两种不同模态的训练图像、所述虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练;
根据训练后的所述图像分类模型执行图像分类任务。
本申请实施例提供一种图像分类装置,包括:
获取模块,用于获取至少两种不同模态的训练图像、以及所述训练图像对应的标签;
混合处理模块,用于对所述至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像;
所述混合处理模块,还用于对所述至少两种不同模态的训练图像对应的标签进行混合处理,得到所述虚拟模态图像对应的标签;
训练模块,用于根据所述至少两种不同模态的训练图像、所述虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练;
执行模块,用于根据训练后的所述图像分类模型执行图像分类任务。
上述方案中,所述装置还包括确定模块,用于确定每种模态的训练图像分别对应的加权系数;所述混合处理模块,还用于根据所述加权系数对所述至少两种不同模态的训练图像进行加权求和处理。
上述方案中,所述混合处理模块,还用于根据所述每种模态的训练图像分别对应的加权系数,对所述至少两种不同模态的训练图像对应的标签进行加权求和处理。
上述方案中,所述确定模块,还用于对贝塔分布进行随机采样,根据得到的采样值确定每种模态的训练图像分别对应的加权系数。
上述方案中,所述确定模块,还用于确定每种模态的训练图像中相同坐标的像素点;所述混合处理模块,还用于根据所述相同坐标的像素点所在训练图像对应的加权系数,对所述相同坐标的像素点进行加权求和处理。
上述方案中,所述装置还包括调整模块,用于对所述至少两种不同模态的训练图像的尺度进行调整处理,以使调整后的所述至少两种不同模态的训练图像的尺度保持一致。
上述方案中,所述训练模块,还用于在所述图像分类模型的第一训练阶段,执行以下操作:将所述至少两种不同模态的训练图像、以及多个所述虚拟模态图像组成第一训练集;通过所述图像分类模型分别对所述第一训练集中的每个图像进行分类预测处理;将所述第一训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第一误差,并根据所述第一误差确定所述图像分类模型的第一梯度;根据所述第一梯度更新所述图像分类模型的参数。
上述方案中,所述训练模块,还用于在所述第一训练阶段之前执行第二训练阶段;其中,所述第一训练阶段是在所述第二训练阶段得到的图像分类模型的基础上继续训练的;其中,在所述第二训练阶段中执行的操作包括:将所述至少两种不同模态的训练图像组成第二训练集;通过初始化的所述图像分类模型分别对所述第二训练集中每个图像进行分类预测处理;将所述第二训练集中每个图像的预测结果与对应的标签代入所述损失函数,以确定对应的第二误差,并根据所述第二误差确定所述图像分类模型的第二梯度;根据所述第二梯度更新初始化的所述图像分类模型的参数。
上述方案中,从所述第二训练阶段转入所述第一训练阶段的条件包括以下至少之一:在所述第二训练阶段迭代训练后的所述图像分类模型的损失函数收敛;在所述第二训练阶段迭代训练所述图像分类模型的次数达到次数阈值。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的图像分类方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的图像分类方法。
本申请实施例具有以下有益效果:
通过将多种不同模态的训练图像进行混合处理,得到一批新的虚拟模态图像,这些虚拟模态图像在原有的训练数据中是不存在的未知模态的图像,在图像分类模型的训练过程中加入这些虚拟模态图像一起训练,可以避免图像分类模型对于已有模态图像产生过拟合,能够有效地对抗模态不同带来的数据分布偏移问题,从而提升了图像分类模型对于新模态图像的识别能力。
附图说明
图1是本申请实施例提供的图像分类系统的架构示意图;
图2是本申请实施例提供的服务器的结构示意图;
图3是本申请实施例提供的图像分类方法的流程示意图;
图4是本申请实施例提供的图像分类方法的流程示意图;
图5是本申请实施例提供的图像分类模型的结构示意图;
图6是本申请实施例提供的图像分类方法的流程示意图;
图7是本申请实施例提供的图像分类方法的原理示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
相关技术提供的图像分类模型,其训练过程往往是数据驱动的。模型的训练过程可以看作是对于训练数据的概率分布进行逼近拟合的过程。在模型的测试使用阶段,模型被应用于测试数据上,这些测试数据与训练数据不重合,是模型在训练阶段没有“见过”的数据。这一训练、测试过程背后的基本假设是:虽然训练数据和测试数据不重合,但是它们是符合统一的数据概率分布的。在这一基本假设下,可以从应用场景中采集大量的训练数据,然后使用模型算法拟合得到训练数据的概率分布。这一概率分布可以看作应用场景中真实概率分布的可靠近似,进而保证模型在测试环境中对于未见数据依然保持稳定的识别能力。
但是实际应用场景是复杂多变的,例如一个动物图像分类模型,图像的类型可能是真实照片、也可能是卡通动画。使用真实照片进行训练得到的模型,拟合的是真实照片中动物的数据分布,而卡通动画中动物的数据分布显然是与真实照片中的动物的数据分布不同的。在这种情况下,使用真实照片当作训练数据进行训练得到的模型,就无法在卡通动画图像的数据上很好的应用。
为了解决上述技术问题,相关技术提供的方案是除了真实照片之外,在训练数据中额外加入卡通动画的动物样本,使模型同时对两种模态(真实照片和卡通动画)的数据分布进行拟合。
举例来说,对于一个动物图像分类任务,假设初始的训练数据包含两个模态的数据,D1模态,表示真实照片;D2模态,表示卡通动画。D1模态中的数据和对应的标签分别用xD1∈XD1和yD1∈YD1表示,D2模态中的数据和对应的标签分别用xD2∈XD2和yD2∈YD2表示。图像分类模型的目标就是学习一个从图像空间到标签空间的映射:
f:x→y,x∈XD1∪XD2,y∈YD1∪YD2
映射函数f的定义与学习方法可以是多种多样的,不局限于某一种特定的图像分类方法。当分类任务需要扩展到新的模态,例如D3模态,表示简笔素描时,相关技术提供的图像分类方法需要重新收集一批D3模态的标注数据xD3∈XD3和yD3∈YD3,然后重新使用这三个模态的数据一起进行训练,以得到适用于三个模态的图像分类模型:
f:x→y,x∈XD1∪XD2∪XD3,y∈YD1∪YD2∪YD3
如果使用在D1模态和D2模态上训练得到的模型,直接作用于D3模态数据上,将无法保证模型对于新模态的识别能力,因为新模态的数据分布与已有的模态存在比较大的偏差。因此,在相关技术提供的图像分类方法中,每次有针对新模态的分类任务到来之时,都需要收集新模态的数据进行标注,并加入训练数据中重新训练模型,才能保证模型对于新模态数据的识别稳定性。
可以看出,相关技术提供的方案看似简单直接,但是模型的可扩展性很差。首先,对于一个新的模态,就需要收集一批新模态的数据进行标注并且加入训练样本中。例如当分类任务从真实照片、卡通动画扩展到简笔素描时,又要重新收集一批简笔素描的图像。每次对于新模态数据的识别需求出现时,就要重复这一过程,增加了模型训练的成本和迭代的周期。其次,在模型的实际应用过程中,往往需要一个“负类”,例如对于动物分类任务,模型需要一个“不是动物”的负类,来剔除实际业务数据中非动物类别的图像。在动物分类任务初始只定义针对真实照片模态时,卡通动画的动物图像以及简笔素描的动物图像就会被划为“负类”当中。当后续增加对这些模态图像的识别需求时,需要对原有“负类”图像进行清洗,将卡通动画和简笔素描的动物图像挑选出来并进行标注。随着分类任务潜在模态的不断扩展,这些数据收集、清洗工作也会越来越繁琐。
鉴于此,本申请实施例提供一种图像分类方法、装置、电子设备和计算机可读存储介质,能够在不使用任何新模态图像数据的情况下,提升模型对于新模态图像的识别能力。
下面说明本申请实施例提供的应用图像分类的电子设备的示例性应用,本申请实施例提供的应用图像分类的电子设备可以实施为笔记本电脑、平板电脑、台式计算机、机顶盒、移动设备(例如,移动电话、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备)等各种类型的用户终端,也可以实施为服务器,例如独立的物理服务器,多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。下面,将结合图1说明应用图像分类的电子设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的图像分类系统100的架构示意图。其中,图像分类系统100包括:服务器200、网络300、终端400和数据库500,下面分别进行说明。
服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
服务器200,用于从数据库500中获取至少两种不同模态的训练图像、以及每种模态的训练图像分别对应的标签。接着,服务器200将从数据库500中获取的至少两种不同模态的训练图像进行混合处理(将在下文具体说明混合处理过程),得到虚拟模态图像;并对至少两种不同模态的训练图像对应的标签进行混合处理,得到虚拟模态图像对应的标签。随后,服务器200根据至少两种不同模态的训练图像、混合处理得到的虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练,得到训练后的图像分类模型。
网络300,用于连接服务器200和终端400,网络300可以是广域网或者是局域网,又或者是二者的组合。
终端400上安装有客户端410,客户端410通过网络300向服务器200发送图像分类任务的请求,响应于图像分类任务的请求,服务器200调用训练后的图像分类模型对接收到的待分类图像进行分类处理,并将分类结果返回至终端400的客户端410以响应图像分类任务的请求。
数据库500,用于存储至少两种不同模态的训练图像、以及每种模态的训练图像分别对应的标签。
需要说明的是,本申请实施例提供的图像分类方法除了可以由服务器独立实施外,还可以由终端独立实现,或者由服务器和终端协同实现,例如服务器训练图像分类模型并将训练好的图像分类模型下发给终端,从而终端可以基于所接收到的图像分类模型执行图像分类任务。
下面,说明实施本申请实施例提供的图像分类方法的电子设备为终端时的示例性应用。
示例的,以图1中的终端400为例,终端400接收服务器200通过网络300发送的至少两种不同模态的训练图像、以及每种模态的训练图像分别对应的标签。接着,终端400调用自身的运算处理能力对所获取的至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像,并对至少两种不同模态的训练图像对应的标签进行混合处理,得到虚拟模态图像对应的标签。随后,终端400通过调用自身的运算处理能力根据至少两种不同模态的训练图像、混合处理后得到的虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练,以得到训练完成的图像分类模型。最后,当需要执行图像分类任务时,终端400可以直接调用训练完成的图像分类模型对待分类图像进行分类处理。
在一些实施例中,本申请实施例提供的图像分类方法可以应用于人脸识别场景中,以实现安全检查、身份核验和移动支付等。
例如,在人脸识别系统中,为了提高人脸识别系统的鲁棒性,可以调用本申请实施例提供的图像分类方法,将训练集中已有的多个模态的人脸图像(例如在不同场景下采集得到的人脸图像)进行混合处理,得到一批新的虚拟模态的人脸图像,并通过已有的多个模态的人脸图像和混合处理后得到的新的虚拟模态的人脸图像进行人脸图像分类模型的训练,从而使得人脸识别系统在面对新场景下的人脸识别任务时,能够维持稳定的识别精度。
在另一些实施例中,本申请实施例提供的图像分类方法也可以应用于商品识别场景中,例如在商品的流通过程中,特别是对于无人货架、智能零售柜等无人零售领域中的商品识别。
下面对图1中的服务器200的结构进行说明。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器240、至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的图像分类装置可以采用软件方式实现,图2示出了存储在存储器240中的图像分类装置243,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2431、混合处理模块2432、训练模块2433、执行模块2434、确定模块2435和调整模块2436,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。下面对图像分类装置243不同的软件实现方式进行举例说明。
示例一、图像分类装置可以是终端应用程序及模块
本申请实施例可提供为使用C/C++、Java等编程语言设计的软件模块,嵌入到基于Android或iOS等系统的各种终端Apps中(例如游戏应用等)(以可执行指令的存储在终端的存储介质中,由终端的处理器执行),从而直接使用终端自身的计算资源完成相关的机器模型训练,应用等任务,并且定期或不定期地通过各种网络通信方式将模型训练、应用等结果传送给远程的服务器,或者在移动端本地保存。
示例二、图像分类装置可以是服务器应用程序及平台
本申请实施例可提供使用C/C++、Java等编程语言设计的应用软件或大型软件系统中的专用软件模块,运行于服务器端(以可执行指令的方式在服务器端的存储介质中存储,并由服务器端的处理器运行),将接收到的来自其它设备的各种原始数据、各级中间数据和最终结果中的至少一种,与服务器上已有的某些数据或结果综合起来进行模型的训练、以及使用训练完成的模型识别交易,然后实时或非实时地输出模型或交易识别的结果给其他应用程序或模块使用,也可以写入服务器端数据库或文件进行存储。
本申请实施例还可以提供为在多台服务器构成的分布式、并行计算平台上,搭载定制的、易于交互的网络(Web)界面或其他各用户界面(UI,User Interface),形成供个人、群体或企业使用的UI界面设计平台等。使用者可以将已有的数据包批量上传给此平台以获得各种计算结果,也可以将实时的数据流传输给此平台来实时计算和刷新各级结果。
示例三、图像分类装置可以是服务器端应用程序接口(API,Application ProgramInterface)及插件
本申请实施例可提供为服务器端的实现模型训练功能、基于模型生成异常交易识别的API、软件开发套件(SDK,Software Development Toolkit)或插件,供其他的服务器端应用程序开发人员调用,并嵌入到各类应用程序中。
示例四、图像分类装置可以是终端设备客户端API及插件
本申请实施例还可提供为终端设备端的实现模型训练功能的、基于机器学习或深度学习模型生成异常交易识别的API、SDK或插件,供其他的终端应用程序开发人员调用,并嵌入到各类应用程序中。
示例五、图像分类装置可以是云端开放服务
本申请实施例可提供为基于人工智能的异常交易处理的UI界面设计云服务、本申请实施例还可提供为UI界面设计云服务的应用程序包(Android application package,API)、软件开发工具包(Software Development Kit,SDK)及插件等,打包封装成可供企业内外人员开放使用的云服务,或者将各种结果以适当形式展示在各种终端显示设备上,供个人、群体或企业使用。
在另一些实施例中,本申请实施例提供的图像分类装置可以采用硬件方式实现,作为示例,本申请实施例提供的图像分类装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的图像分类方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面结合附图对本申请实施例提供的图像分类方法进行具体说明。参见图3,图3是本申请实施例提供的图像分类方法的流程示意图;在一些实施例中,可以由服务器或者终端单独实施本申请实施例提供的图像分类方法,也可以由服务器和终端协同实施。在下面的步骤中,以服务器实施为例说明本申请实施例提供的图像分类方法。
在步骤S301中,获取至少两种不同模态的训练图像、以及训练图像对应的标签。
在一些实施例中,针对特定的图像分类任务,服务器获取相应的至少两种不同模态的训练图像、以及每种模态的训练图像分别对应的标签。随后,服务器可以根据所获取的至少两种不同模态的训练图像、以及训练图像对应的标签,进行后续的混合处理和对图像分类模型进行训练。
示例的,对于动物分类任务来说,服务器获取的至少两种不同模态的训练图像可以是真实照片的动物图像、卡通动画的动物图像、以及简笔素描的动物图像等,其中,每张动物图像中均预先标注有对应的标签,用于指示动物图像中目标对象所属的类别,例如目标对象为猫或者狗等。
示例的,对于人脸识别系统来说,服务器获取的至少两种不同模态的训练图像可以是在不同场景下采集得到的人脸图像,例如,在光线充足的条件下采集得到的人脸图像;在光线比较暗淡的条件下采集得到的人脸图像;在特殊情况下采集到的不完整的人脸图像等;其中,每张人脸图像中均预先标注有对应的标签,用于指示人脸图像中的人脸所对应的用户,例如某张人脸图像对应的标签为“张三”。
在一些实施例中,训练图像对应的标签可以采用多种方式进行表示,包括标签编码(Label Encoder)和独热编码(One-Hot Encoder)。例如,为了提高标签的可读性,可以采用独热编码形式的标签作为训练图像对应的标签。例如,假设有N个不同的类别,则对应的标签为N维的向量。类别按照一定的顺序进行排序,每个类别与每维向量一一对应。在确定出训练图像中目标对象所属的类别后,将与所确定类型对应的某维向量的值设置为1;其他维向量的值设置为0。例如,假设目标对象总类别为:猫、狗、鱼、猴子……,则类别为狗的训练图像对应的标签可以为[0 1 0 0…0],该向量的长度为N,只有在第二位为1,其他位为0。
需要说明的是,服务器可以从数据库中获取已标注有标签的训练图像,也可以采用人工标注的方式获取已标注有标签的训练图像,还可以采用其他方式获取已标注有标签的训练图像,本申请实施例在此不作限定。
在步骤S302中,对至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像。
在一些实施例中,服务器对至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像,可以通过以下方式实现:确定每种模态的训练图像分别对应的加权系数;并根据加权系数对至少两种不同模态的训练图像进行加权求和处理。
示例的,以两种不同模态的训练图像为例,假设这两种不同模态的训练图像分别为真实照片的动物图像和卡通动画的动物图像,服务器首先确定真实照片的动物图像对应的加权系数为λ,则卡通动画的动物图像对应的加权系数为1-λ;接着,服务器根据真实照片的动物图像对应的加权系数λ、以及卡通动画的动物图像对应的加权系数1-λ,对真实照片的动物图像和卡通动画的动物图像进行加权求和处理,得到虚拟模态的动物图像。
在一些实施例中,服务器确定每种模态的训练图像分别对应的加权系数,可以通过以下方式实现:对贝塔分布进行随机采样,根据得到的采样值确定每种模态的训练图像分别对应的加权系数。
为了实现训练图像的多样性,每种模态的训练图像对应的加权系数可以是随机生成的。例如,仍以对两种不同模态的训练图像进行混合处理为例,两种不同模态的训练图像分别对应的加权系数可以是λ和1-λ。其中,λ是在0-1之间的随机数。作为一种可能的实施方式,加权系数可以是通过对贝塔分布进行随机采样得到的。贝塔分布(Beta Distribution)是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,在概率论中,贝塔分布是一个定义在[0,1]区间上的连续概率分布族,它有两个正值参数,称为形状参数,一般用α和β表示。如此,由于加权系数在训练过程中是随机采样得到的,使得即使对于固定的两种不同模态的训练图像,经过混合处理后得到的虚拟模态图像也是不同的,相当于在图像分类模型的训练过程中产生了大量的虚拟模态图像,从而避免了图像分类模型的过拟合。
在一些实施例中,服务器根据加权系数对至少两种不同模态的训练图像进行加权求和处理,可以通过以下方式实现:确定每种模态的训练图像中相同坐标的像素点;根据相同坐标的像素点所在训练图像对应的加权系数,对相同坐标的像素点进行加权求和处理。
在另一些实施例中,服务器在确定每种模态的训练图像中相同坐标的像素点之前,还可以首先执行以下操作:对至少两种不同模态的训练图像的尺度进行调整处理,以使调整后的至少两种不同模态的训练图像的尺度保持一致。
示例的,仍以对两种不同模态的训练图像进行混合处理为例,其中,D1模态,表示真实照片的动物图像;D2模态,表示卡通动画的动物图像,服务器在获取到D1模态的训练图像和D2模态的训练图像后,首先判断D1模态的训练图像的尺度和D2模态的训练图像的尺度是否一致;当不一致时,对D1模态的训练图像的尺度和D2模态的训练图像的尺度进行调整处理,使得调整后的D1模态的训练图像的尺度和D2模态的训练图像的尺度保存一致。例如,服务器可以以D1模态的训练图像的尺度为标准,将D2模态的训练图像的尺度调整至与D1模态的训练图像的尺度一致;或者,服务器设置一个标准尺度,同时将D1模态的训练图像的尺度和D2模态的训练图像的尺度调整至标准尺度。在将D1模态的训练图像的尺度和D2模态的训练图像的尺度调整至相同尺度后,服务器确定出D1模态的训练图像和D2模态的训练图像中相同坐标的像素点,并根据相同坐标的像素点所在训练图像对应的加权系数,对相同坐标的像素点进行加权求和处理。例如对于坐标为(5,5)的像素点,在D1模态的训练图像中对应的加权系数为λ,在D2模态的训练图像中对应的加权系数为1-λ,则服务器根据相应的加权系数,对坐标为(5,5)的像素点进行加权求和处理,得到经过加权求和处理后的坐标为(5,5)的像素点的像素值。服务器在对训练图像中所有坐标的像素点执行上述加权求和处理后,确定出所有坐标的像素点经过加权求和处理后得到的像素值,即可得到对应的虚拟模态图像。
本申请实施例通过对已有的至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像,这些虚拟模态图像在原先的训练集中是不存在的,相较于训练集中已有模态的训练图像,这些虚拟模态图像可以看作是新的、未知模态的训练图像,使用这些虚拟模态图像对图像分类模型进行训练,将极大地提升图像分类模型对于未知模态的训练图像的鲁棒性,从而提升图像分类模型在面对新模态图像时的识别能力。
在步骤S303中,对至少两种不同模态的训练图像对应的标签进行混合处理,得到虚拟模态图像对应的标签。
在一些实施例中,服务器对至少两种不同模态的训练图像对应的标签进行混合处理,得到虚拟模态图像对应的标签,可以通过以下方式实现:根据每种模态的训练图像分别对应的加权系数,对至少两种不同模态的训练图像对应的标签进行加权求和处理。
示例的,仍以两种不同模态的训练图像为例,假设D1模态的训练图像对应的标签为[1 0 0 0 0];D2模态的训练图像对应的标签为[0 1 0 0 0],假设服务器确定出D1模态的训练图像对应的加权系数为λ;D2模态的训练图像对应的加权系数为1-λ;则服务器根据D1模态的训练图像对应的加权系数λ和D2模态的训练图像对应的加权系数1-λ,对D1模态的训练图像对应的标签[1 0 0 0 0]和D2模态的训练图像对应的标签[0 1 0 0 0]进行加权求和处理,确定出虚拟模态图像对应的标签为[λ 1 -λ 0 0 0]。
在步骤S304中,根据至少两种不同模态的训练图像、虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练。
在一些实施例中,图3示出的步骤S304可以通过图4示出的步骤S3041至步骤S3044实现,将结合图4示出的步骤进行说明。
在图像分类模型的第一训练阶段,执行以下处理:
在步骤S3041中,将至少两种不同模态的训练图像、以及多个虚拟模态图像组成第一训练集。
在一些实施例中,服务器可以对贝塔分布进行多次随机采样,并根据每次得到的采样值确定每种模态的训练图像分别对应的加权系数,以对至少两种不同模态的训练图像进行多次混合处理,从而得到多个虚拟模态图像。随后,服务器将已有的至少两种不同模态的训练图像、以及经过混合处理后得到的多个虚拟模态图像组成第一训练集。
示例的,以两种不同模态的训练图像为例,假设服务器对贝塔分布进行5次随机采样,可以得到5个采样值,分别为λ1、λ2、λ3、λ4、λ5,随后,服务器依次以λ1、λ2、λ3、λ4、λ5为D1模态的训练图像对应的加权系数,并依次以1-λ1、1-λ2、1-λ3、1-λ4、1-λ5为D2模态的训练图像对应的加权系数,对D1模态的训练图像和D2模态的训练图像进行5次加权求和处理,从而得到5个虚拟模态图像。最后,服务器将已有的两种不同模态的训练图像、以及经过加权求和处理后得到的5个虚拟模态图像组成第一训练集。
在步骤S3042中,通过图像分类模型分别对第一训练集中的每个图像进行分类预测处理。
在一些实施例中,图像分类模型可以是各种类型的神经网络模型,例如卷积神经网络、深度卷积神经网络、全连接神经网络等。
示例的,以图像分类模型为基于卷积神经网络的图像分类模型为例,通过卷积神经网络模型的卷积层分别提取第一训练集中的每个图像的图像特征,并将所提取的图像特征依次输入卷积神经网络模型的全连接层(用于将图像特征连接成一个向量)和池化层(用于平均池化或者最大池化),以确定出每个图像分别对应的预测结果。
在步骤S3043中,将第一训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第一误差,并根据第一误差确定图像分类模型的第一梯度。
在一些实施例中,损失函数是以图像的预测结果和图像对应的标签之间的误差作为差异因子,并最小化这个差异因子的。其中,损失函数的类型可以包括均方误差损失函数(MSE,Mean Squared Error)、合页损失函数(HLF,Hinge Loss Function)和交叉熵损失函数(Cross Entropy)等。例如,以平方损失函数(Square Loss)为例,当样本个数为n时,此时的损失函数可表示为:
其中,Y表示标签信息,f(X)表示预测结果,Y-f(X)表示的是标签信息与预测结果之间的误差,以作为差异因子,整个式子表示的是误差的平方和,而最终的目的就是最小化这个目标函数值,也就是最小化误差的平方和。
示例的,参见图5,图5是本申请实施例提供的图像分类模型的结构示意图。如图5所示,以基于卷积神经网络(CNN,Convolutional Neural Networks)的图像分类模型为例,基于CNN的图像分类模型通常包括:卷积层、池化层、BN层(Batch Normalization)、激活层、Softmax层和损失层。其中,基于CNN的图像分类模型的训练过程如下:将训练图像经过图像分类模型得到训练图像的预测结果,这个过程称为正向传播,根据预测结果和图像对应的标签得到当前图像分类模型的损失,并基于计算出的损失运用梯度下降算法,以从CNN的最后一层开始往前计算各层的损失并更新各层的权重,这个过程称为反向传播。
具体的,当将训练图像输入至图像分类模型时,训练图像经过图像分类模型中的卷积层、池化层、BN层、激活层、Softmax层和损失层后就直接得到了训练图像对应的预测结果,即上述图像分类模型的前向传播过程。图像分类模型的损失层根据训练图像的预测结果和图像的标签就可以计算得到图像分类模型的损失,基于计算得到的损失运用梯度下降算法,以从损失层开始往前计算图像分类模型中各层的损失,并更新各层的权重,即图像分类模型反向传播过程,从而得到训练后的图像分类模型。
在步骤S3044中,根据第一梯度更新图像分类模型的参数。
在一些实施例中,服务器根据第一训练集中每个图像的预测结果和真实结果(即每个图像分别对应的标签)对比计算图像分类模型的损失值,并把损失值回传到图像分类模型中,通过随机梯度下降更新图像分类模型的参数,从而实现一次权重优化。经过多次优化后,最终得到训练完成的图像分类模型。
在一些实施例中,为了避免图像分类模型早期被虚拟模态图像严重干扰,因此,可以采用从易到难的训练策略,即在训练的早期,不引入虚拟模态图像,只使用已知的至少两种不同模态的训练图像进行训练,之后再引入虚拟模态图像进行训练,从而可以让图像分类模型避免在已有模态上产生严重的过拟合,保证对未知模态的识别能力。
示例的,参见图6,可以在第一训练阶段之前执行第二训练阶段;其中,第一训练阶段是在第二训练阶段训练得到的图像分类模型的基础上继续训练的;其中,在第二训练阶段中执行的操作包括:
在步骤S3045中,将至少两种不同模态的训练图像组成第二训练集。
示例的,服务器可以从数据库中获取至少两种不同模态的训练图像,并将所获取的至少两种不同模态的训练图像组成第二训练集。
在步骤S3046中,通过初始化的图像分类模型分别对第二训练集中每个图像进行分类预测处理。
在步骤S3047中,将第二训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第二误差,并根据第二误差确定图像分类模型的第二梯度。
在步骤S3048中,根据第二梯度更新初始化的图像分类模型的参数。
需要说明的是,在第二训练阶段执行的步骤S3046至步骤S3048与在步骤S3042至步骤S3044执行的步骤的具体过程类似,可参照步骤S3042至步骤S3044实现,本申请实施例在此不再赘述。
在一些实施例中,服务器从第二训练阶段转入第一训练阶段的条件包括以下至少之一:在第二训练阶段迭代训练后的图像分类模型的损失函数收敛;或者,在第二训练阶段迭代训练图像分类模型的次数达到了次数阈值。
在一些实施例中,上述的第一训练阶段和第二训练阶段可以是多次交叉的,例如服务器可以先执行第二训练阶段,再执行第一训练阶段,接着又重新执行第二训练阶段,并再次执行第一训练阶段,以完成图像分类模型的训练。此外,每个训练阶段使用的训练图像与上一个同类型的训练图像可以是完全不同的、或者是交叉的(即部分相同的),从而能够使图像分类模型逐步积累学习分类能力。上述的多次交叉训练方式适用于实时性较高的场景,可以快速吐出可以部署的图像分类模型;当然,训练过程也可以仅仅是一次交叉,以适用于非实时性的场景。
在步骤S305中,根据训练后的图像分类模型执行图像分类任务。
在一些实施例中,服务器接收用户通过终端上传的待分类图像,通过训练后的图像分类模型对待分类图像进行分类处理,并将分类结果返回至用户的终端。
在另一些实施例中,本申请实施例提供的图像分类方法也可以支持视频内容的识别。
示例的,对于短视频内容的审核,服务器可以通过提取关键帧的方式将短视频转换为单张的图像,然后对转换后得到的单张的图像调用训练后的图像分类模型进行分类处理,然后融合多帧的分类结果确定出最终的分类结果。例如,当短视频内容的审核任务为人脸识别时,假设短视频的总帧数为100帧,服务器可以从这100帧图像中随机提取出关键的10帧图像,并调用训练后的图像分类模型对这10帧关键图像中出现的人脸进行分类处理,然后融合这10帧关键图像的分类结果确定出最终的分类结果。
本申请实施例通过将已有的多种不同模态的训练图像进行混合处理,得到一批新的虚拟模态图像。这些虚拟模态图像在原有的训练数据中是不存在的,相较于已有的模态,这些虚拟模态图像可以是看作新的、未知模态的图像。在图像分类模型的训练过程中加入这些虚拟模态图像一起训练,可以避免图像分类模型对于已有模态图像产生过拟合,能够有效地对抗模态不同带来的数据分布偏移问题,从而提升了图像分类模型对于新模态图像的识别能力。
下面继续说明本申请实施例提供的图像分类装置243实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器240的图像分类装置243中的软件模块可以包括:获取模块2431、混合处理模块2432、训练模块2433、执行模块2434、确定模块2435和调整模块2436。
获取模块2431,用于获取至少两种不同模态的训练图像、以及训练图像对应的标签;混合处理模块2432,用于对至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像;混合处理模块2432,还用于对至少两种不同模态的训练图像对应的标签进行混合处理,得到虚拟模态图像对应的标签;训练模块2433,用于根据至少两种不同模态的训练图像、虚拟模态图像、以及分别对应的标签,对图像分类模型进行训练;执行模块2434,用于根据训练后的图像分类模型执行图像分类任务。
在一些实施例中,图像分类装置243还包括确定模块2435,用于确定每种模态的训练图像分别对应的加权系数;混合处理模块2432,还用于根据加权系数对至少两种不同模态的训练图像进行加权求和处理。
在一些实施例中,混合处理模块2432,还用于根据每种模态的训练图像分别对应的加权系数,对至少两种不同模态的训练图像对应的标签进行加权求和处理。
在一些实施例中,确定模块2435,还用于对贝塔分布进行随机采样,根据得到的采样值确定每种模态的训练图像分别对应的加权系数。
在一些实施例中,确定模块2435,还用于确定每种模态的训练图像中相同坐标的像素点;混合处理模块2432,还用于根据相同坐标的像素点所在训练图像对应的加权系数,对相同坐标的像素点进行加权求和处理。
在一些实施例中,图像分类装置243还包括调整模块2436,用于对至少两种不同模态的训练图像的尺度进行调整处理,以使调整后的至少两种不同模态的训练图像的尺度保持一致。
在一些实施例中,训练模块2433,还用于在图像分类模型的第一训练阶段,执行以下操作:将至少两种不同模态的训练图像、以及多个虚拟模态图像组成第一训练集;通过图像分类模型分别对第一训练集中的每个图像进行分类预测处理;将第一训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第一梯度,并根据第一梯度确定图像分类模型的第一梯度;根据第一梯度更新图像分类模型的参数。
在一些实施例中,训练模块2433,还用于在第一训练阶段之前执行第二训练阶段;其中,第一训练阶段是在第二训练阶段得到的图像分类模型的基础上继续训练的;其中,在第二训练阶段中执行的操作包括:将至少两种不同模态的训练图像组成第二训练集;通过初始化的图像分类模型分别对第二训练集中每个图像进行分类预测处理;将第二训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第二误差,并根据第二误差确定图像分类模型的第二梯度;根据第二梯度更新初始化的图像分类模型的参数。
在一些实施例中,从第二训练阶段转入第一训练阶段的条件包括以下至少之一:在第二训练阶段迭代训练后的图像分类模型的损失函数收敛;在第二训练阶段迭代训练图像分类模型的次数达到次数阈值。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的图像分类装置中未尽的技术细节,可以根据图3-4、6任一附图的说明而理解。
下面,以动物分类任务为例,说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种图像分类方法,只要求原始的训练集中存在若干个已知模态的训练图像,例如2-3个,后续通过多模态混合策略,产生一批新的虚拟模态图像,随后,同时使用这些新产生的虚拟模态图像对图像分类模型进行训练,如此,使得模型在面对新模态图像的识别任务时,在不用收集新模态的训练图像的情况下,也可以保证模型在应用于新模态图像时可以维持稳定的算法精度。
本申请实施例提供的图像分类方法可以应用于各种类别的内容审核与内容理解任务中。例如,对于视频类别的业务,可以通过视频抽帧的策略将视频转换为单张的图像,并对单张的图像进行识别,从而可以综合多张图像的识别结果完成对视频业务的内容审核与理解。
下面对本申请实施例提供的图像分类方法进行具体说明。
示例的,参见图7,图7是本申请实施例提供的图像分类方法的原理示意图。如图7所示,训练数据包含若干个不同模态的训练图像,以两种不同的模态D1,D2为例,其中,D1模态表示真实照片,D2模态表示卡通动画。分类模型总共接收三种不同的输入图像,其中,第一种是属于D1模态的图像xD1,第二种是属于D2模态的图像xD2,第三种是使用混合策略之后得到的“虚拟模态”的混合图像φ(xD1,xD2)。相应的,混合图像对应的标签y由yD1,yD2混合得到。分类模型的具体结构,以及训练模型所使用的损失函数L(x,y)的具体形式没有特殊要求,常见的分类模型和损失函数均可。例如,分类模型的结构可以是各种类型的神经网络模型,例如卷积神经网络、深度卷积神经网络、全连接神经网络等,损失函数的形式可以是均方误差损失函数、合页损失函数、以及交叉熵损失函数等。
示例的,以通过残差网络ResNet-101构建图像分类模型为例,图像分类模型包括特征提取层和分类预测层。其中,分类预测层又可以进一步包括最大池化层和全连接层。在实际实施时,可以通过以下方式对图像分类模型进行训练:对于D1模态的训练图像,D2模态的训练图像,以及混合处理后得到的虚拟模态图像,将三种不同模态的训练图像一起输入图像分类模型中,通过图像分类模型输出对应模态的训练图像的分类预测结果,并将输出的分类预测结果与对应模态图像的标签进行对比,以基于分类预测结果与对应模态图像的标签之间的差异,确定图像分类模型的损失函数的值,将损失函数的值反向传播至图像分类模型的各个层,并通过随机梯度下降法(SGD,Stochastic Gradient Descent)更新各个层的模型参数,从而完成图像分类模型的训练。其中,模型参数指的是图像分类模型中网络权重参数。当后续接收到新的图像分类任务时,服务器可以调用训练好的图像分类模型,首先通过图像分类模型对待分类图像进行特征提取,得到待分类图像的图像特征;接着,通过图像分类模型对所得到的图像特征进行分类预测,从而得到待分类图像对应的图像类别。
下面对混合处理过程进行具体说明。
假设训练数据包含两种模态的训练图像,分别为D1和D2。两种模态的训练图像及对应的标签分别为xD1∈XD1,yD1∈YD1以及xD2∈XD2和yD2∈YD2。为了使图像分类模型对于新的、未知的模态也能具备鲁棒的识别能力,在模型训练的过程中,通过两个不同模态的训练图像的混合处理(mixup),制造出一批新的“虚拟模态”的训练图像,具体过程如下:
φ(xD1,xD2)=λxD1+(1-λ)xD2
φ(yD1,yD2)=λyD1+(1-λ)yD2
λ~Beta(β,β)
其中,λ是加权系数,xD1是D1模态的训练图像,yD1是D1模态的训练图像对应的标签,xD2是D2模态的训练图像,yD2是D2模态的训练图像对应的标签,φ(xD1,xD2)是D1模态的训练图像和D2模态的训练图像经过混合处理后得到的虚拟模态图像,φ(yD1,yD2)是虚拟模态图像对应的标签,β是贝塔分布的参数。
其中,混合处理的策略是对两个不同模态的训练图像、以及对应的标签之间进行线性组合,组合的系数为λ,λ可以从贝塔分布中随机采样得到,贝塔分布的参数β预先设定,一般为1.0。由于λ在训练过程中是随机采样得到的,因此,即使对于D1模态和D2模态固定的一组训练图像,在训练过程中产生的虚拟模态图像也是不同的。相当于在模型训练的过程中产生了大量的除D1模态和D2模态之外的“虚拟模态”,这些“虚拟模态”的加入使得分类模型能够避免在D1模态和D2模态产生过拟合,保留足够的、对于未知模态的识别能力。从而使得训练好的模型即使面对完全未知的模态D3时,也能够保留足够的识别能力。
同时,在模型的训练过程中,为了避免训练早期被“虚拟模态”的训练图像严重干扰,引入了从易到难的训练策略,即:在训练的早期(对应于上述的第二训练阶段),不引入混合策略,只使用原始D1,D2两个模态的训练图像进行训练。接着,在早期迭代训练后的模型的损失函数收敛、或者训练次数达到次数阈值后,引入混合策略,不断产生新的“虚拟模态”的训练图像,并在训练过程中加入这些虚拟模态图像一起进行训练,如此,可以让训练后的模型避免在已有模态上产生严重的过拟合,保证对未知模态的识别能力。
与相关技术相比,当需要识别新模态的图像时,相关技术提供的方案一般需要收集并标注新模态的训练图像加入训练数据中,并重新训练模型。而本申请实施例提供的图像分类方法可以避免这一繁琐的收集训练图像并重新标注的流程,直接使用已有模态的训练图像,使用混合策略对已有模态的训练图像进行混合处理,从而制造出大量的虚拟模态图像,然后在训练过程中加入这些虚拟模态图像一起进行训练,从而可以避免模型对于已有模态产生过拟合,能够有效地对抗模态不同带来的数据分布偏移问题。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的图像分类方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的图像分类方法,例如,如图3-4、6示出的图像分类方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超日志标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例具有以下有益效果:
通过将已有的多种不同模态的训练图像进行混合处理,得到一批新的虚拟模态图像。这些虚拟模态图像在原有的训练数据中是不存在的,相较于已有的模态,这些虚拟模态图像可以是看作新的、未知模态的图像。在图像分类模型的训练过程中加入这些虚拟模态图像一起训练,可以避免图像分类模型对于已有模态图像产生过拟合,能够有效地对抗模态不同带来的数据分布偏移问题,从而提升了图像分类模型对于新模态图像的识别能力。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (9)
1.一种图像分类方法,其特征在于,所述方法包括:
获取至少两种不同模态的训练图像、以及所述训练图像对应的标签,其中,所述至少两种不同模态对应于至少两种不同的数据分布;
对所述至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像,其中,所述虚拟模态图像为未知模态的训练图像;
对所述至少两种不同模态的训练图像对应的标签进行混合处理,得到所述虚拟模态图像对应的标签;
将所述至少两种不同模态的训练图像组成第二训练集;
通过初始化的图像分类模型分别对所述第二训练集中每个图像进行分类预测处理;
将所述第二训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第二误差,并根据所述第二误差确定所述图像分类模型的第二梯度;
根据所述第二梯度更新初始化的所述图像分类模型的参数;
当迭代训练后的所述图像分类模型的损失函数收敛,或者,迭代训练所述图像分类模型的次数达到次数阈值时,将所述至少两种不同模态的训练图像、以及多个所述虚拟模态图像组成第一训练集;
通过所述图像分类模型分别对所述第一训练集中的每个图像进行分类预测处理;
将所述第一训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第一误差,并根据所述第一误差确定所述图像分类模型的第一梯度;
根据所述第一梯度更新所述图像分类模型的参数;
根据训练后的所述图像分类模型执行图像分类任务。
2.根据权利要求1所述的方法,其特征在于,所述对所述至少两种不同模态的训练图像进行混合处理,包括:
确定每种模态的训练图像分别对应的加权系数;
根据所述加权系数对所述至少两种不同模态的训练图像进行加权求和处理。
3.根据权利要求2所述的方法,其特征在于,所述对所述至少两种不同模态的训练图像对应的标签进行混合处理,包括:
根据所述每种模态的训练图像分别对应的加权系数,对所述至少两种不同模态的训练图像对应的标签进行加权求和处理。
4.根据权利要求2所述的方法,其特征在于,所述确定每种模态的训练图像分别对应的加权系数,包括:
对贝塔分布进行随机采样,根据得到的采样值确定每种模态的训练图像分别对应的加权系数。
5.根据权利要求2所述的方法,其特征在于,所述根据所述加权系数对所述至少两种不同模态的训练图像进行加权求和处理,包括:
确定每种模态的训练图像中相同坐标的像素点;
根据所述相同坐标的像素点所在训练图像对应的加权系数,对所述相同坐标的像素点进行加权求和处理。
6.根据权利要求5所述的方法,其特征在于,所述确定每种模态的训练图像中相同坐标的像素点之前,所述方法还包括:
对所述至少两种不同模态的训练图像的尺度进行调整处理,以使调整后的所述至少两种不同模态的训练图像的尺度保持一致。
7.一种图像分类装置,其特征在于,所述装置包括:
获取模块,用于获取至少两种不同模态的训练图像、以及所述训练图像对应的标签,其中,所述至少两种不同模态对应于至少两种不同的数据分布;
混合处理模块,用于对所述至少两种不同模态的训练图像进行混合处理,得到虚拟模态图像,其中,所述虚拟模态图像为未知模态的训练图像;
所述混合处理模块,还用于对所述至少两种不同模态的训练图像对应的标签进行混合处理,得到所述虚拟模态图像对应的标签;
训练模块,用于将所述至少两种不同模态的训练图像组成第二训练集;通过初始化的图像分类模型分别对所述第二训练集中每个图像进行分类预测处理;将所述第二训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第二误差,并根据所述第二误差确定所述图像分类模型的第二梯度;根据所述第二梯度更新初始化的所述图像分类模型的参数;当迭代训练后的所述图像分类模型的损失函数收敛,或者,迭代训练所述图像分类模型的次数达到次数阈值时,将所述至少两种不同模态的训练图像、以及多个所述虚拟模态图像组成第一训练集;通过所述图像分类模型分别对所述第一训练集中的每个图像进行分类预测处理;将所述第一训练集中每个图像的预测结果与对应的标签代入损失函数,以确定对应的第一误差,并根据所述第一误差确定所述图像分类模型的第一梯度;根据所述第一梯度更新所述图像分类模型的参数;
执行模块,用于根据训练后的所述图像分类模型执行图像分类任务。
8.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至6任一项所述的图像分类方法。
9.一种计算机可读存储介质,其特征在于,存储计算机可执行指令,用于引起处理器执行时,实现权利要求1至6任一项所述的图像分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011072495.0A CN112132230B (zh) | 2020-10-09 | 2020-10-09 | 图像分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011072495.0A CN112132230B (zh) | 2020-10-09 | 2020-10-09 | 图像分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112132230A CN112132230A (zh) | 2020-12-25 |
CN112132230B true CN112132230B (zh) | 2024-02-20 |
Family
ID=73843904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011072495.0A Active CN112132230B (zh) | 2020-10-09 | 2020-10-09 | 图像分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112132230B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420170B (zh) * | 2021-07-15 | 2023-04-14 | 宜宾中星技术智能系统有限公司 | 大数据图像的多线程存储方法、装置、设备和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299341A (zh) * | 2018-10-29 | 2019-02-01 | 山东师范大学 | 一种基于字典学习的对抗跨模态检索方法和系统 |
CN109558890A (zh) * | 2018-09-30 | 2019-04-02 | 天津大学 | 基于自适应权重哈希循环对抗网络的零样本图像分类方法 |
CN109598745A (zh) * | 2018-12-25 | 2019-04-09 | 上海联影智能医疗科技有限公司 | 图像配准方法、装置和计算机设备 |
CN109657694A (zh) * | 2018-10-26 | 2019-04-19 | 平安科技(深圳)有限公司 | 图片自动分类方法、装置及计算机可读存储介质 |
CN110580501A (zh) * | 2019-08-20 | 2019-12-17 | 天津大学 | 一种基于变分自编码对抗网络的零样本图像分类方法 |
US10579869B1 (en) * | 2017-07-18 | 2020-03-03 | Snap Inc. | Virtual object machine learning |
CN111291740A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 一种人脸识别模型的训练方法、人脸识别方法及硬件 |
CN111382758A (zh) * | 2018-12-28 | 2020-07-07 | 杭州海康威视数字技术股份有限公司 | 训练图像分类模型、图像分类方法、装置、设备及介质 |
CN111582066A (zh) * | 2020-04-21 | 2020-08-25 | 浙江大华技术股份有限公司 | 异质人脸识别模型训练方法、人脸识别方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10242292B2 (en) * | 2017-06-13 | 2019-03-26 | Digital Surgery Limited | Surgical simulation for training detection and classification neural networks |
-
2020
- 2020-10-09 CN CN202011072495.0A patent/CN112132230B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579869B1 (en) * | 2017-07-18 | 2020-03-03 | Snap Inc. | Virtual object machine learning |
CN109558890A (zh) * | 2018-09-30 | 2019-04-02 | 天津大学 | 基于自适应权重哈希循环对抗网络的零样本图像分类方法 |
CN109657694A (zh) * | 2018-10-26 | 2019-04-19 | 平安科技(深圳)有限公司 | 图片自动分类方法、装置及计算机可读存储介质 |
CN109299341A (zh) * | 2018-10-29 | 2019-02-01 | 山东师范大学 | 一种基于字典学习的对抗跨模态检索方法和系统 |
CN109598745A (zh) * | 2018-12-25 | 2019-04-09 | 上海联影智能医疗科技有限公司 | 图像配准方法、装置和计算机设备 |
CN111382758A (zh) * | 2018-12-28 | 2020-07-07 | 杭州海康威视数字技术股份有限公司 | 训练图像分类模型、图像分类方法、装置、设备及介质 |
CN110580501A (zh) * | 2019-08-20 | 2019-12-17 | 天津大学 | 一种基于变分自编码对抗网络的零样本图像分类方法 |
CN111582066A (zh) * | 2020-04-21 | 2020-08-25 | 浙江大华技术股份有限公司 | 异质人脸识别模型训练方法、人脸识别方法及相关装置 |
CN111291740A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 一种人脸识别模型的训练方法、人脸识别方法及硬件 |
Also Published As
Publication number | Publication date |
---|---|
CN112132230A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20160083900A (ko) | 얼굴 표현을 위한 시스템 및 방법 | |
WO2021164317A1 (zh) | 序列挖掘模型的训练方法、序列数据的处理方法及设备 | |
CN111178542A (zh) | 基于机器学习建模的系统和方法 | |
CN109145828B (zh) | 用于生成视频类别检测模型的方法和装置 | |
CN110138595A (zh) | 动态加权网络的时间链路预测方法、装置、设备及介质 | |
CN110347932A (zh) | 一种基于深度学习的跨网络用户对齐方法 | |
US20220237917A1 (en) | Video comparison method and apparatus, computer device, and storage medium | |
CN113159283A (zh) | 一种基于联邦迁移学习的模型训练方法及计算节点 | |
CN113095370A (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN112651333B (zh) | 静默活体检测方法、装置、终端设备和存储介质 | |
CN112597984B (zh) | 图像数据处理方法、装置、计算机设备和存储介质 | |
CN114219971B (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
WO2022111387A1 (zh) | 一种数据处理方法及相关装置 | |
CN113191479A (zh) | 联合学习的方法、系统、节点及存储介质 | |
CN113822953A (zh) | 图像生成器的处理方法、图像生成方法及装置 | |
CN113240071A (zh) | 图神经网络处理方法、装置、计算机设备及存储介质 | |
CN114358250A (zh) | 数据处理方法、装置、计算机设备、介质及程序产品 | |
CN114170484B (zh) | 图片属性预测方法、装置、电子设备和存储介质 | |
CN112132230B (zh) | 图像分类方法及装置 | |
CN114677611B (zh) | 数据识别方法、存储介质及设备 | |
CN117095252A (zh) | 目标检测方法 | |
CN116541712A (zh) | 基于非独立同分布数据的联邦建模方法及系统 | |
CN114445692B (zh) | 图像识别模型构建方法、装置、计算机设备及存储介质 | |
CN115115910A (zh) | 图像处理模型的训练方法、使用方法、装置、设备及介质 | |
CN113255819A (zh) | 用于识别信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |