本发明涉及人工智能技术,尤其涉及一种基于人工智能的图像处理方法、图像分类模型训练方法、装置、电子设备及存储介质。
背景技术:
人工智能(ai,artificialintelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
图像识别是人工智能的一个重要应用,在相关技术提供的方案中,通常是对图像进行特征提取得到特征向量,并根据特征向量直接预测图像中所包括内容的类别,例如预测图像中是否包括人脸。但是,通过特征提取得到的特征向量中通常含有较多不利于识别的多余信息,导致根据该特征向量得到的类别不准确,图像识别的精度差。
技术实现要素:
本发明实施例提供一种基于人工智能的图像处理方法、图像分类模型训练方法、装置、电子设备及存储介质,能够提升图像识别的精度,得到更为准确的类别。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的图像处理方法,包括:
对待识别图像进行特征提取处理,得到特征向量;
将所述特征向量切分为n个待识别子向量;其中,所述n为大于1的整数;
根据所述n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到所述待识别图像中所包括内容的n个类别预测结果;
结合所述n个类别预测结果,确定所述待识别图像中所包括内容的类别。
本发明实施例提供一种基于人工智能的图像分类模型训练方法,包括:
获取样本图像以及所述样本图像中所包括内容的样本类别;
通过图像分类模型对所述样本图像进行特征提取处理,得到样本特征向量;
将所述样本特征向量切分为n个样本子向量;
根据所述n个样本子向量、以及所述样本图像中所包括内容的样本类别,确定所述图像分类模型的损失值;
根据所述损失值在所述图像分类模型中进行反向传播,并
在反向传播的过程中,沿梯度下降方向更新所述图像分类模型的权重参数;
其中,所述图像分类模型用于对待识别图像进行识别。
本发明实施例提供一种基于人工智能的图像处理装置,包括:
提取模块,用于对待识别图像进行特征提取处理,得到特征向量;
切分模块,用于将所述特征向量切分为n个待识别子向量;其中,所述n为大于1的整数;
分类模块,用于根据所述n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到所述待识别图像中所包括内容的n个类别预测结果;
类别确定模块,用于结合所述n个类别预测结果,确定所述待识别图像中所包括内容的类别。
本发明实施例提供一种基于人工智能的图像分类模型训练装置,包括:
样本获取模块,用于获取样本图像以及所述样本图像中所包括内容的样本类别;
样本提取模块,用于通过图像分类模型对所述样本图像进行特征提取处理,得到样本特征向量;
样本切分模块,用于将所述样本特征向量切分为n个样本子向量;
损失确定模块,用于根据所述n个样本子向量、以及所述样本图像中所包括内容的样本类别,确定所述图像分类模型的损失值;
更新模块,用于根据所述损失值在所述图像分类模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新所述图像分类模型的权重参数;
其中,所述图像分类模型用于对待识别图像进行识别。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的图像处理方法,或基于人工智能的图像分类模型训练方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的图像处理方法,或基于人工智能的图像分类模型训练方法。
本发明实施例具有以下有益效果:
本发明实施例将待识别图像的特征向量切分为n个待识别子向量,通过结合n个待识别子向量的类别预测结果,削弱不利于识别的多余(错误)信息的影响,例如在不利于识别的多余信息较为集中地存在于某个待识别子向量中时,通过结合n个类别预测结果,能够降低包括多余信息的待识别子向量对最终结果的影响程度,得到较为准确的类别,提升图像识别的精度。
附图说明
图1是本发明实施例提供的基于人工智能的图像处理系统的一个可选的架构示意图;
图2是本发明实施例提供的结合区块链网络的基于人工智能的图像处理系统的一个可选的架构示意图;
图3a是本发明实施例提供的服务器的一个可选的架构示意图;
图3b是本发明实施例提供的服务器的一个可选的架构示意图;
图4是本发明实施例提供的基于人工智能的图像处理装置的一个可选的架构示意图;
图5a是本发明实施例提供的基于人工智能的图像处理方法的一个可选的流程示意图;
图5b是本发明实施例提供的基于人工智能的图像处理方法的一个可选的流程示意图;
图5c是本发明实施例提供的基于人工智能的图像处理方法的一个可选的流程示意图;
图5d是本发明实施例提供的基于人工智能的图像分类模型训练方法的一个可选的流程示意图;
图6是本发明实施例提供的通过卷积神经网络模型进行特征提取处理的一个可选的示意图;
图7是相关技术提供的模型训练的架构示意图;
图8是本发明实施例提供的向量切分的一个可选的示意图;
图9是本发明实施例提供的模型训练的一个可选的架构示意图;
图10是本发明实施例提供的模型训练的一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)图像识别:指识别或验证图像中主体内容的类别的过程,例如识别图像中人脸的类别,或者识别图像中建筑的类别等。
2)特征提取:将原始图像转换为特征向量,通过特征提取的方式,能够减少数据的冗余度,发现更有意义的潜在变量,帮助对原始图像产生更深入的了解。
3)神经网络(neuralnetwork,nn)模型:一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的模型,可通过调整模型内部大量节点之间相互连接的关系,达到处理信息的目的。
4)卷积神经网络(cnn,convolutionalneuralnetworks)模型:一类包含卷积计算且具有深度结构的前馈图像分类模型,卷积可以作为特征提取器。
5)梯度下降法:一种图像分类模型的优化方式,在求解损失函数的最小值,即最小的损失值时,可以通过梯度下降法进行迭代求解。
6)高维空间:在图像识别的过程中,将图像映射至特征空间,从而得到特征向量。在本文中,高维空间与低维空间是相对概念,高维空间是指通过特征提取处理得到的特征向量,即未切分的特征向量对应的特征空间。
7)低维空间:指切分后的子向量对应的特征空间。
8)区块链(blockchain):由区块(block)形成的加密的、链式的交易的存储结构。
9)区块链网络(blockchainnetwork):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
本发明实施例提供一种基于人工智能的图像处理方法、图像分类模型训练方法、装置、电子设备及存储介质,能够提升图像识别的精度,得到更为准确的类别,下面说明本发明实施例提供的电子设备的示例性应用。
参见图1,图1是本发明实施例提供的基于人工智能的图像处理系统100的一个可选的架构示意图,为实现支撑一个基于人工智能的图像处理应用,终端设备400(示例性示出了终端设备400-1和终端设备400-2)通过网络300连接服务器200,服务器200连接数据库500,其中,网络300可以是广域网或者局域网,又或者是二者的组合。
终端设备400用于将待识别图像发送至服务器200,该待识别图像可以是终端设备400拍摄的图像,也可以是网络图像;服务器200用于从数据库500中获取样本图像以及样本图像中所包括内容的样本类别,并根据样本图像和样本类别更新图像分类模型;通过更新后的图像分类模型对待识别图像进行特征提取处理,得到特征向量;将特征向量切分为n个待识别子向量,其中,n为大于1的整数;根据n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到待识别图像中所包括内容的n个类别预测结果;结合n个类别预测结果,确定待识别图像中所包括内容的类别,并将类别发送至终端设备400;终端设备400还用于在图形界面410(示例性示出了图形界面410-1和图形界面410-2)显示该类别。图1以人脸识别的场景,示例性地示出了待识别图像所包括内容的类别为用户a。
本发明实施例也可结合区块链技术实现,区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参见图2,图2是本发明实施例提供的基于人工智能的图像处理系统110的一个可选的架构示意图,包括区块链网络600(示例性地示出了节点610-1至节点610-3)、认证中心700、业务系统800(示例性地示出了归属于业务系统800的电子设备810,电子设备810可以是图1中的服务器200或终端设备400),下面分别进行说明。
区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务系统的电子设备例如终端设备和服务器,都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务系统在获得授权后其下辖的电子设备(例如终端设备/服务器)可以接入区块链网络600,此时,成为区块链网络600中的一类特殊的节点即客户端节点。
需要指出地,客户端节点可以只提供支持业务系统发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的原生节点的功能,例如下文的排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务系统的具体业务需求)地实现。从而,可以将业务系统的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。
区块链网络600接收来自业务系统(例如图2中示出的业务系统800)的客户端节点(例如,图2中示出的归属于业务系统800的电子设备810)提交的交易,执行交易以更新账本或者查询账本。
下面以业务系统接入区块链网络以实现图像分类模型的上链为例,说明区块链网络的示例性应用。
业务系统800的电子设备810接入区块链网络600,成为区块链网络600的客户端节点。电子设备810首先训练对待识别图像进行识别的图像分类模型,在训练过程中,电子设备810获取样本图像以及样本图像中所包括内容的样本类别,样本图像及样本类别可以是电子设备810从数据库中获取的,也可以是从区块链网络600中获取的。然后,电子设备810通过图像分类模型,对样本图像进行特征提取处理,将得到的样本特征向量切分为n个样本子向量,并根据n个样本子向量、以及样本图像中所包括内容的样本类别,确定图像分类模型的损失值,根据该损失值更新图像分类模型,例如通过反向传播的机制进行更新。
在完成对图像分类模型的更新后,电子设备810根据非对称加密算法生成包括公钥和私钥的非对称密钥对,并根据公钥对更新后的图像分类模型进行加密。然后,电子设备810生成提交加密后的图像分类模型的交易,在交易中指定了实现提交操作需要调用的智能合约以及向智能合约传递的参数,交易还携带了业务系统800签署的数字签名(例如,使用业务系统800的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600。其中,数字证书可由业务系统800向认证中心700进行登记注册得到。
区块链网络600中的节点610在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的业务系统800的身份,确认业务系统800是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点610自己的数字签名,并继续在区块链网络600中广播。
区块链网络600中具有排序功能的节点610接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络600中提供共识服务的节点。
区块链网络600中的提供共识服务的节点610对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的交易:对于提交加密后的图像分类模型的交易,将加密后的图像分类模型以键值对的形式存储至状态数据库。
下面以业务系统接入区块链网络以实现图像分类模型的查询为例,说明区块链网络的示例性应用。
电子设备810根据用户的指令或预设逻辑,生成查询加密后的图像分类模型的交易,同时在交易中指定了实现查询操作需要调用的智能合约以及向智能合约传递的参数,交易还携带了业务系统800签署的数字签名。然后,电子设备810将交易广播到区块链网络600,区块链网络的节点610经验证、区块填充及共识一致后,提供账本功能的节点610将形成的新区块追加到区块链的尾部,并执行新区块中的交易:对于用于查询加密后的图像分类模型的交易,从状态数据库中查询加密后的图像分类模型,并将其发送至电子设备810。电子设备810可通过非对称密钥对中的私钥,对加密后的图像分类模型进行解密,从而将其应用于对待识别图像的识别。值得说明的是,状态数据库中存储的数据通常与区块链存储的数据相同,在响应查询交易时,优先根据状态数据库中的数据进行响应,从而提升响应效率。
下面继续说明本发明实施例提供的电子设备的示例性应用。电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,也可以实施为服务器。下面,以电子设备为服务器为例进行说明。
参见图3a,图3a是本发明实施例提供的服务器200(例如,可以是图1所示的服务器200)的架构示意图,图3a所示的服务器200包括:至少一个处理器210、存储器240和至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3a中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本发明实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等。
在一些实施例中,本发明实施例提供的基于人工智能的图像处理装置可以采用软件方式实现,图3a示出了存储在存储器240中的基于人工智能的图像处理装置2431,其可以是程序和插件等形式的软件,包括以下软件模块:提取模块24311、切分模块24312、分类模块24313及类别确定模块24314,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,本发明实施例提供的基于人工智能的图像分类模型训练装置也可以采用软件方式实现,参见图3b,图3b除了示出的基于人工智能的图像分类模型训练装置2432外,其余部分可均与图3a相同,此处不再赘述。对于存储在存储器240中的基于人工智能的图像分类模型训练装置2432,其可以是程序和插件等形式的软件,包括以下软件模块:样本获取模块24321、样本提取模块24322、样本切分模块24323、损失确定模块24324及更新模块24325,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的图像处理装置和基于人工智能的图像分类模型训练装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的图像处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的图像处理方法;本发明实施例提供的基于人工智能的图像分类模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的图像分类模型训练方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。
本发明实施例提供的基于人工智能的图像处理方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图1所示的终端设备400-1和终端设备400-2)执行,或者由服务器和终端设备共同执行。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于人工智能的图像处理装置而实现基于人工智能的图像处理方法的过程。
参见图4和图5a,图4是本发明实施例提供的基于人工智能的图像处理装置2431的架构示意图,示出了通过一系列模块实现类别预测的流程,图5a是本发明实施例提供的基于人工智能的图像处理方法的流程示意图,将结合图4对图5a示出的步骤进行说明。
在步骤101中,对待识别图像进行特征提取处理,得到特征向量。
作为示例,参见图4,在提取模块24311中,获取待识别图像,待识别图像可以是网络图像,也可以是终端设备的本地图像。对获取的待识别图像进行特征提取处理,得到特征向量,这里,可通过图像分类模型对待识别图像进行特征提取处理,图像分类模型可从数据库中获取,也可从区块链网络中获取。
在步骤102中,将特征向量切分为n个待识别子向量;其中,n为大于1的整数。
作为示例,参见图4,在切分模块24312中,根据切分值n,将特征向量有序地切分为n个子向量,即,将待识别图像映射到n个低维空间,子向量即为位于低维空间的向量,为了便于区分,将这里的子向量命名为待识别子向量,其中,n为大于1的整数,可预先设定。
在步骤103中,根据n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到待识别图像中所包括内容的n个类别预测结果。
作为示例,参见图4,在分类模块24313中,对每个待识别子向量分别进行分类处理,例如通过softmax函数对待识别子向量进行分类处理,得到至少两个类别以及与每个类别对应的置信度。对于每个待识别子向量,可以设置待识别子向量的类别预测结果包括分类处理得到的所有类别以及对应的置信度,也可设置类别预测结果仅包括数值最大的置信度对应的类别。对于n个待识别子向量,可得到n个类别预测结果。
在步骤104中,结合n个类别预测结果,确定待识别图像中所包括内容的类别。
这里,可应用投票选取的方式选取最终的类别,例如,在类别预测结果仅包括数值最大的置信度对应的类别的情况下,将n个类别预测结果中票数最多的类别,确定为待识别图像中所包括内容的类别。举例来说,n的值为4,第1个和第2个类别预测结果包括的类别均是类别a,第3个类别预测结果包括的类别是类别b,第4个类别预测结果包括的类别是类别c,由于类别a的票数是2票,高于其他类别的票数,故将类别a确定为待识别图像中所包括内容的类别。
在此基础上,可能存在至少两个票数最多的类别,对于该情况,可在票数最多的至少两个类别中,随机选取一个类别,作为待识别图像中所包括内容的类别。除了随机选取的方式外,也可根据置信度进行选取,具体地,对于票数最多的类别,先确定该类别的对应的置信度,再对该类别对应的置信度进行平均处理,得到该类别的衡量置信度,其中,类别对应的置信度是指在通过分类处理得到包括该类别的类别预测结果时,同时得到的该类别对应的置信度。然后,将票数最多、且衡量置信度最大的类别,确定为待识别图像中所包括内容的类别。以上文的例子再进行举例,n的值变化为5,且第5个类别预测结果表示预测的类别是类别b,则票数最多的类别包括类别a和类别b,对于该情况,确定在对第1个待识别子向量(对应第1个类别预测结果)进行分类处理时,所得到的对应类别a的置信度confidencea1,同理,确定第2个待识别子向量对应类别a的置信度confidencea2,第3个待识别子向量对应类别b的置信度confidenceb1,第5个待识别子向量对应类别b的置信度confidenceb2,然后,计算类别a的衡量置信度(confidencea1 confidencea2)/2,类别b的衡量置信度(confidenceb1 confidenceb2)/2,将类别a和类别b中衡量置信度最大的类别,确定为待识别图像中所包括内容的类别。
此外,还可应用加权投票的方式,例如,在类别预测结果包括分类处理得到的所有类别以及对应的置信度的情况下,为不同低维空间的分类器设定不同的权重,并根据权重对每个类别预测结果中的置信度进行加权。然后,将n个类别预测结果中的置信度按照类别进行求和或平均处理,将最后得到的数值最大的置信度对应的类别,确定为待识别图像中所包括内容的类别。
本发明实施例可应用于不同的应用场景,例如图4所示的登录验证的场景,在该场景中,可预先确定具有登录权限的用户账户,并将用户账户关联的图像中所包含内容的类别确定为权限类别。当接收到用户发起的登录请求时,在设定时段内进行图像采集处理,得到待识别图像,并对待识别图像进行特征提取处理、向量切分及分类处理,确定待识别图像中所包括的类别。当该类别与权限类别相同时,确定对登录请求的验证结果为验证成功,即发起登录请求的用户对应具有登录权限的用户账户。具体地,登录验证可以是门禁验证或开机验证等,本发明实施例对此不做限定。
本发明实施例也可应用于图像聚类的场景,例如,将用户图库中的图像确定为待识别图像,在确定出待识别图像中所包括内容的类别后,将用户图库中对应相同类别的图像归为一类,完成对用户图库的自动整理。值得说明的是,这里的用户图库可以是本地图库,也可以是网络图库。
通过发明实施例对于图5a的上述示例性实施可知,本发明实施例将待识别图像映射至n个低维空间,综合n个低维空间的类别预测结果,从而削弱不利于识别的多余信息的影响,例如,在多余信息集中地存在于某个低维空间时,通过投票选取或其他方式综合n个低维空间的类别预测结果,能够降低包括多余信息的低维空间对最终结果的影响程度,得到更为准确的类别,提升了图像识别的精度。
在一些实施例中,参见图5b,图5b是本发明实施例提供的基于人工智能的图像处理方法的一个可选的流程示意图,基于图5a,在步骤102之后,还可以在步骤201中,对对比图像进行特征提取处理,并将得到的特征向量切分为n个对比子向量。
除了对向量进行分类处理的方式外,还可通过向量比对的方式,来确定待识别图像中所包括内容的类别。具体地,获取已知类别的对比图像,并对对比图像进行特征提取处理,将得到的特征向量切分为n个对比子向量。值得说明的是,对对比图像进行特征提取处理的方式与对待识别图像进行特征提取处理的方式一致,例如都通过图像分类模型进行特征提取处理,此外,本发明实施例对对比图像的获取途径不做限定,例如可从数据库中获取,或从区块链网络中获取。
在步骤202中,确定第n个待识别子向量与第n个对比子向量之间的向量距离,直至得到n个向量距离;其中,n的取值依次为1,2,……n。
按照向量切分的顺序,确定切分出的第n个待识别子向量与第n个对比子向量之间的向量距离,并从1开始迭代n的取值,直至得到n个向量距离。本发明实施例对向量距离的具体类型不做限定,例如向量距离可以为欧式距离或余弦距离等,向量距离越小,代表对应的两个子向量之间的相似度越高。
在步骤203中,对n个向量距离进行平均处理,得到图像向量距离。
对n个向量距离进行平均处理,得到待识别图像与对比图像之间的图像向量距离。值得说明的是,在得到对比图像对应的特征向量的情况下,也可不进行向量切分,直接将待识别图像对应的特征向量与对比图像对应的特征向量之间的向量距离,确定为图像向量距离。
在步骤204中,当图像向量距离小于距离阈值时,确定待识别图像与对比图像包括相同类别的内容。
这里,当图像向量距离小于距离阈值时,确定待识别图像与对比图像包括相同类别的内容。值得说明的是,上述步骤中的向量距离也可替换为向量相似度,则步骤203可更新为:对n个向量相似度进行平均处理,得到图像向量相似度;步骤204可更新为:当图像向量相似度大于相似度阈值时,确定待识别图像与对比图像包括相同类别的内容。其中,向量相似度如余弦相似度。
在一些实施例中,在步骤101之前,还包括:在接收到登录请求的设定时段内进行图像采集处理,得到待识别图像;确定至少一个具有登录权限的用户账户,并将用户账户关联的图像确定为对比图像;
在步骤204之后,还包括:加载对比图像对应的用户账户的账户资源,以响应登录请求。
本发明实施例可应用于登录验证场景,具体地,在接收到登录请求的设定时段内进行图像采集处理,其中,设定时段如5秒,通过在设定时段进行图像采集处理,提升发起登录请求的用户通过伪造图像,进行作弊的难度。在进行图像采集处理时,可仅采集一帧图像,也可采集多帧图像。同时,确定至少一个具有登录权限的用户账户,例如在台式计算机中拥有登录权限的用户账户,并将每个用户账户关联的图像确定为对比图像,其中,用户账户关联的图像可以是包括该用户账户对应的用户人脸的图像。
当待识别图像仅为一帧、且待识别图像与某个对比图像之间的图像向量距离小于距离阈值时,加载该对比图像对应的用户账户的账户资源,以响应登录请求;当待识别图像为多帧、且超过帧数比例的待识别图像与某个对比图像之间的图像向量距离小于距离阈值时,同样加载该对比图像对应的用户账户的账户资源,其中,帧数比例可根据实际应用场景进行设定,以帧数比例为50%的情况进行举例,若存在10帧待识别图像,且其中6帧待识别图像与某个对比图像之间的图像向量距离小于距离阈值,则确定验证成功。其中,账户资源可为图像资源及声音资源等资源中的至少一种。上述方式可应用于移动设备或台式计算机等终端设备的登录验证场景中,提升登录验证的精度,防止非法用户登录成功。
通过发明实施例对于图5b的上述示例性实施可知,本发明实施例通过向量比对的方式,在另一个层面实现了对待识别图像中所包括内容的类别识别,适用于训练图像分类模型的样本类别较少,无法涵盖需要预测的所有类别的情况。
在一些实施例中,参见图5c,图5c是本发明实施例提供的基于人工智能的图像处理方法的一个可选的流程示意图,基于图5b,在步骤101之前,还可以在步骤301中,确定用户图库中的至少一个目录。
在本发明实施例中,也可通过向量比对的方式,实现用户图库的图像聚类。首先,确定用户图库中的至少一个目录,这里的目录可以是用户创建的文件目录,例如,用户将用户图库中与“张三”相关的图像,主动聚类(添加)到一个新的目录,并设置该目录的目录名为“张三”。其中,用户图库可以是本地图库,也可以是网络图库,例如位于内容交互平台的图库。
在步骤302中,对用户图库进行第一次遍历处理,将遍历到的图像确定为待识别图像,并在第一次遍历处理的过程中,对待识别图像之外的多个图像进行第二次遍历处理得到对比图像,根据第一次遍历处理得到的待识别图像和第二次遍历处理得到的对比图像构建二元图像组。
这里,对用户图库进行第一次遍历处理,将遍历到的图像确定为待识别图像。然后,在确定待识别图像的基础上,对待识别图像之外的多个图像进行第二次遍历处理,得到对比图像,并根据第一次遍历处理得到的待识别图像和第二次遍历处理得到的对比图像构建二元图像组,直到得到用户图库中所有可能出现的二元图像组为止。本发明实施例中的二元图像组是无序图像组,故在得到二元图像组之后,可对包括的图像相同、但图像次序不同的二元图像组进行去重处理,从而减少需处理的数据量,比如二元图像组1包括图像a和图像b,二元图像组2包括图像b和图像a,则仅保留二元图像组1和二元图像组2中的一个。
在图5c中,在步骤203之后,还在步骤303中,根据二元图像组对应的图像向量距离,将用户图库中的图像添加到至少一个图像类。
对于每个二元图像组,确定二元图像组包括的两个图像之间的图像向量距离,由此,可得到用户图库中每两个图像之间的图像向量距离。然后,根据图像向量距离,将用户图库中的图像添加到至少一个图像类。
在一些实施例中,可以通过这样的方式来实现上述的根据二元图像组对应的图像向量距离,将用户图库中的图像添加到至少一个图像类:根据二元图像组对应的图像向量距离,对用户图库中所有图像对应的特征向量进行聚类处理,得到至少一个向量类;将各向量类包括的特征向量转换为对应的图像,并将针对每个向量类进行转换得到的图像组合为对应的图像类。
这里,根据图像向量距离,对用户图库中所有图像对应的特征向量进行聚类处理,得到至少一个向量类,本发明实施例对聚类处理的方式不做限定,例如可采用k-means聚类算法。对于得到的每个向量类,将向量类包括的特征向量转换为对应的图像,并将转换得到的图像组合为对应的图像类。通过上述方式,基于图像向量距离实现了对用户图库中图像的聚类,提升了聚类的准确性。
在步骤304中,当图像类中超过设定比例的图像属于同一目录时,将超过设定比例的图像所属的目录确定为目标目录,并将图像类中不属于任一目录的图像,添加至目标目录。
对于每个图像类,当图像类中超过设定比例的图像属于同一目录时,将超过设定比例的图像所属的目录确定为目标目录,其中,设定比例可根据实际应用场景进行设置,如为50%。由于属于目录的图像是由用户主动聚类得到,故为了避免影响用户的主动聚类结果,在本发明实施例中,仅对不属于任一目录的图像进行聚类,具体将图像类中不属于任一目录的图像,添加至目标目录。
反之,当图像类中属于同一目录、且数量最多的图像未超过设定比例时,可自动创建新的目录,并将图像类中不属于任一目录的图像,添加至新的目录。
通过发明实施例对于图5c的上述示例性实施可知,本发明实施例根据图像向量距离,对用户图库中的图像进行聚类,提升了聚类效果,实现了图像的自动整理,提升了用户体验。
本发明实施例提供的基于人工智能的图像分类模型训练方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图1所示的终端设备400-1和终端设备400-2)执行,或者由服务器和终端设备共同执行。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于人工智能的图像分类模型训练装置而实现基于人工智能的图像分类模型训练方法的过程。
参见图5d,图5d是本发明实施例提供的基于人工智能的图像分类模型训练方法的一个可选的流程示意图,将结合示出的各步骤进行说明。
在步骤401中,获取样本图像以及样本图像中所包括内容的样本类别。
在本发明实施例中,可通过图像分类模型对待识别图像进行特征提取处理,为了提升图像分类模型的特征提取效果,可对图像分类模型进行训练,其中,本发明实施例对图像分类模型的类型不做限定,例如图像分类模型可以是卷积神经网络模型。
在训练过程中,首先获取样本图像以及已标注的样本类别,作为图像分类模型的训练数据。本发明实施例对样本类别的设定方式不做限定,以人脸识别的场景举例,可根据样本图像中是否包括人脸的情况,设定样本类别,如设定当样本类别为0时,表示样本图像中未包括人脸;当样本类别为1时,表示样本图像中包括人脸。除此之外,还可为不同的人脸设定不同的样本类别,如设定当样本类别为0时,表示样本图像中包括人脸a;当样本类别为1时,表示样本图像中包括人脸b。
在一些实施例中,可以通过这样的方式来实现上述的获取样本图像以及样本图像中所包括内容的样本类别:确定目标用户的交互对象,并确定目标用户参与的交互事件;当交互事件包括图像时,对交互事件中的文本进行命名实体识别处理,得到文本中的命名实体;当命名实体与交互对象匹配时,将交互事件中的图像确定为样本图像,并根据命名实体创建样本类别,以使不同命名实体对应的样本类别不同。
这里,可针对目标用户训练图像分类模型。首先,确定目标用户的交互对象,该交互对象可以是预先设定的,也可以是通过提取交互对象的通讯录而得到的,即交互对象可以是通讯录中的通讯对象。同时,确定目标用户参与的交互事件,交互事件包括文本和图像中的至少之一,例如交互事件可以是目标用户在内容交互平台中所发表的用户动态或朋友圈等。
当交互事件仅包括图像或仅包括文本时,不对该交互事件进行后续处理;当交互事件包括图像及文本时,对交互事件中的文本进行命名实体识别处理,得到文本中的命名实体。本发明实施例对命名实体识别处理的方式不做限定,例如可通过设定命名实体规则,从而识别文本中的命名实体,也可通过相关的模型,如长短期记忆网络(lstm,longshort-termmemory)模型进行命名实体识别处理。
当识别出的命名实体与交互对象匹配时,将交互事件中的图像确定为样本图像,并根据命名实体创建样本类别,其中,不同命名实体对应的样本类别不同。举例来说,目标用户发表了一条用户动态,该用户动态包括命名实体“张三”,以及一张人脸图像,而目标用户的通讯录中也存在名为“张三”的交互对象,则确定命名实体与交互对象匹配,将交互事件中的图像确定为样本图像,并创建与“张三”对应的样本类别。其中,如果与命名实体对应的样本类别已创建,则直接将已创建的样本类别与样本图像建立对应关系。通过上述方式,有效地从目标用户的交互事件中解析出样本图像及样本类别,提升了获取训练数据的灵活性。
在一些实施例中,可以通过这样的方式来实现上述的获取样本图像以及样本图像中所包括内容的样本类别:确定目标用户的交互对象,并确定目标用户的用户图库中的至少一个目录;当目录与交互对象匹配时,将目录下的图像确定为样本图像,并根据目录创建样本类别,以使不同目录对应的样本类别不同。
除了从目标用户的交互事件中解析出训练数据外,还可对用户图库进行解析。具体地,确定目标用户的用户图库中的至少一个目录,这里的目录可以是文件目录。由于目录的目录名通常较短,故在这里并不对目录名进行命名实体识别处理,而是直接将目录名与目标用户的交互对象进行文本匹配。当目录名中含有交互对象时,确定目录名与交互对象相匹配,将目录名对应目录下的图像均确定为样本图像,并根据目录名创建样本类别,其中,不同目录名对应的样本类别不同。同样地,如果与目录名对应的样本类别已创建,则直接将已创建的样本类别与样本图像建立对应关系。通过上述方式,从用户图库中获取训练数据,进一步提升了灵活性及对不同应用场景的适用性。
在步骤402中,通过图像分类模型对样本图像进行特征提取处理,得到样本特征向量。
这里,通过图像分类模型对样本图像进行特征提取处理,将得到的特征向量命名为样本特征向量。
在步骤403中,将样本特征向量切分为n个样本子向量。
将样本特征向量切分为n个子向量,这里的n与步骤102中的n相同,为了便于区分,将这里得到的子向量命名为样本子向量。通过划分出的n个样本子向量共同训练图像分类模型,可提升图像分类模型的训练效率。
在一些实施例中,在步骤403之前,还包括:获取预设的至少两个复杂度区间及对应的切分值;其中,切分值与复杂度区间的数值成反比关系;确定图像分类模型的复杂度;将图像分类模型的复杂度所处的复杂度区间,确定为目标复杂度区间,并将目标复杂度区间对应的切分值确定为n。
在本发明实施例中,图像分类模型的训练效率的提升程度与切分的子向量数量成反比关系,即切分的子向量数量越多,对于训练效率的提升程度越小。故为了取得更合理的训练效率,获取预设的至少两个复杂度区间及与每个复杂度区间对应的切分值,其中,切分值与复杂度区间的数值成反比关系。举例来说,复杂度可以是图像分类模型的模型体积,单位为兆(mb),在训练之前,获取数值范围为(0,1mb)复杂度区间a,对应的切分值为4;获取数值范围为1mb以上的复杂度区间b,对应的切分值为2。当图像分类模型的模型体积为10mb时,确定该模型体积落入复杂度区间b,并将n设置2。当然,这并不构成对本发明实施例的限定,例如图像分类模型的复杂度也可以是模型中网络层的数量,或应用其他衡量标准来确定复杂度,复杂度区间和切分值也可存在其他的设定方式。通过上述方式,在图像分类模型本身较为简单、训练时长较短时,划分出更多的子向量,从而提升训练出的模型的精度;在图像分类模型本身较为复杂时,减少子向量的划分数量,以在保证一定精度的基础上,提升模型训练效率,避免模型的训练时长过久。
在步骤404中,根据n个样本子向量、以及样本图像中所包括内容的样本类别,确定图像分类模型的损失值。
在图5d中,步骤404可以通过步骤501至步骤503实现,将结合各步骤进行说明。
在步骤501中,根据n个样本子向量中的每个样本子向量分别进行分类处理,对应得到样本图像中所包括内容的n个样本类别预测结果。
这里,根据每个样本子向量进行分类处理,得到与每个样本子向量对应的类别预测结果,为了便于区分,将这里得到的类别预测结果命名为样本类别预测结果。
在步骤502中,根据样本类别和第i个样本类别预测结果确定子损失值,直至得到n个子损失值;其中,i的取值依次为1,2,……n;第i个子损失值用于表示样本类别与第i个样本类别预测结果之间的差异。
这里,根据损失函数对样本类别和第i个样本类别预测结果进行处理,得到第i个子损失值,并从1开始迭代i的取值,直至得到n个子损失值,其中,第i个子损失值用于表示样本类别与第i个样本类别预测结果之间的差异。本发明实施例对损失函数的类型不做限定,例如可以是交叉熵损失函数,也可以是其他类型的损失函数。
在步骤503中,对n个子损失值进行累积处理,得到图像分类模型的损失值。
这里,累积处理可以是相加处理,也可以是加权求和处理。对n个子损失值进行累积处理,得到图像分类模型在总体上的损失值。
在图5d中,步骤404之后,还在步骤405中,根据损失值在图像分类模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新图像分类模型的权重参数。
根据得到的图像分类模型的损失值,在图像分类模型中进行反向传播,在反向传播至图像分类模型的各个网络层的过程中,计算出梯度,并沿梯度下降方向更新网络层的权重参数。重复训练图像分类模型的过程,直到满足收敛条件为止,收敛条件如设定的迭代次数或设定的准确率阈值等。
在一些实施例中,可以通过这样的方式来实现上述的获取样本图像以及样本图像中所包括内容的样本类别:获取包括多个训练样本的训练集;其中,训练样本包括样本图像以及样本图像中所包括内容的样本类别;
可以通过这样的方式来实现上述的根据损失值在图像分类模型中进行反向传播:将训练集中的至少一个训练样本添加至处理批;对处理批内所有训练样本对应的损失值进行平均处理,得到平均损失值;根据平均损失值在图像分类模型中进行反向传播。
在本发明实施例中,可获取包括多个训练样本的训练集,并将训练集中的至少一个训练样本添加至处理批(batch),其中,不同处理批包括的训练样本的数量相同。根据每个处理批,对图像分类模型进行训练,具体在确定出处理批内每个训练样本对应的图像分类模型的损失值后,将处理批内所有训练样本对应的损失值进行平均处理,得到平均损失值,并根据平均损失值在图像分类模型中进行反向传播。通过上述的小批量梯度下降的方式,在提升训练效率的同时,也保证了模型训练的精度,使得图像分类模型能够更快地满足收敛条件。
在一些实施例中,在步骤405之后,还包括:生成包括公钥和私钥的非对称密钥对;根据公钥对更新后的图像分类模型进行加密,并将加密后的图像分类模型发送至区块链网络,以使区块链网络的节点将加密后的图像分类模型填充至新区块,并将新区块追加至区块链的尾部。
在完成对图像分类模型的更新后,可通过非对称加密算法,生成包括公钥和私钥的非对称密钥对,并根据公钥对更新后的图像分类模型进行加密。然后,将加密后的图像分类模型发送至区块链网络,区块链网络的节点经验证、区块填充及共识一致后,将包括加密后的图像分类模型的新区块追加至区块链的尾部。由于区块链具有不可篡改的特性,故通过上链的方式,提升了模型数据的准确性,同时,由于区块链存储的是加密后的图像分类模型,也提升了模型数据的安全性。
在需要使用图像分类模型时,向区块链网络发送模型请求,以获取区块链存储的加密后的图像分类模型。然后,根据非对称密钥对中的私钥,对加密后的图像分类模型进行解密处理,如此,便可通过解密后的图像分类模型,对待识别图像进行特征提取处理。值得说明的是,在存在状态数据库时,区块链网络的节点可将加密后的图像分类模型同时存储至状态数据库,并优先根据状态数据库中的数据响应模型请求,以加快反馈效率。通过上述的上链方式,有效提升了图像分类模型的安全性和准确性。
通过发明实施例对于图5d的上述示例性实施可知,本发明实施例根据切分出的n个样本子向量确定图像分类模型的损失值,有效提升了模型训练效率,同时也提升了模型训练的精度。
下面,将说明本发明实施例在一个实际的人脸识别应用场景中的示例性应用,即以待识别图像为人脸图像的情况进行举例说明。
本发明实施例提供了如图6所示的特征提取处理的示意图,在图6中,将维度为227*227*3的人脸图像61输入至卷积神经网络模型后,卷积神经网络模型通过卷积核逐层进行卷积操作,最终将人脸图像61映射为特征向量62,特征向量62的维度为1000,即,卷积操作相当于特征提取,卷积操作使用的卷积核相当于特征的过滤器。其中,卷积神经网络模型即为上文的图像分类模型。
图7是相关技术提供的模型训练的架构示意图,在相关技术提供的方案中,通常是将人脸图像映射为一个d维的特征向量f∈rd,根据该d维的特征向量,确定人脸图像的人脸类别预测结果(即属于哪个用户的人脸),并根据监督信号对卷积神经网络模型进行训练,其中,监督信号即为损失函数。但是,d维的特征向量的维度较高,例如在人脸识别的场景中,d通常取512,导致d维的特征向量含有较多不利于分类的多余信息,且根据d维的特征向量,训练卷积神经网络模型的效率较为低下。
由此,本发明实施例提供了如图8所示的向量切分的示意图,相较于相关技术中,由d维的特征向量直接确定类别预测结果的方式,在图8中,将d维的特征向量切分为n个子向量,即是将图像映射至n个低维空间,图8示例性地示出了n为4的情况。根据切分出的子向量1、2、3及4的类别预测结果,可确定人脸图像中的人脸类别(对应上文的待识别图像中所包括内容的类别),例如通过投票的方式进行确定,举例来说,子向量1和子向量2的类别预测结果均表示人脸图像中所包括人脸的人脸类别是用户a,子向量3的类别预测结果表示人脸图像中所包括人脸的人脸类别是用户b,子向量4的类别预测结果表示人脸图像中所包括人脸的人脸类别是用户c,则将票数最多的用户a,最终确定为人脸图像中所包括人脸的人脸类别。
其中,将d维的特征向量按照维度依次分为n份,切分出的每个子向量可表示为
fi=[fi1,fi2,...,fin]
其中,i表示第i个样本。
本发明实施例还提供了如图9所示的模型训练的架构示意图,在训练卷积神经网络模型时,为切分出的每个子向量添加相同的子监督信号,并根据4个子监督信号共同训练卷积神经网络模型,其中,总监督信号是各子监督信号之和,可表示为:
其中,通过子监督信号得到的loss(fin,yi)即为上文的子损失值,通过总监督信号得到的loss(fi,yi)即为上文的损失值,yi表示第i个训练样本的样本人脸类别。
为了便于理解,本发明实施例提供了如图10所示的模型训练的流程示意图,以步骤形式进行说明:
步骤一:确定相关参数。在该步骤中,将用于特征提取处理的卷积神经网络模型命名为cnnweight,并确定切分值n、采用的损失函数loss_function以及训练集(x,y),其中,x对应样本人脸图像(对应上文的样本图像),y对应样本人脸图像的样本人脸类别(对应上文的样本类别),其中,不同用户的样本人脸类别不同,样本人脸类别可通过数值形式体现,例如用户a的样本人脸类别是1,用户b的样本人脸类别是2。除此之外,还确定需要预测人脸类别的人脸图像image。
步骤二:初始化卷积神经网络模型的权重参数,权重参数可随机初始化,或采用其他方式进行初始化。
步骤三:训练卷积神经网络模型。
重复下列的过程s次,s为大于0的整数:{
1)从训练集(x,y)中抽取处理批(xi,yi),其中,i∈{1,...b},b为大于0的整数;
2)将样本人脸图像xi输入至卷积神经网络模型,得到d维的特征向量,即fi←cnnweight(xi);
3)将d维的特征向量切分为n个子向量,即[fi1,fi2,...,fin]←fi;
4)得到总监督信号
5)利用梯度下降(小批量梯度下降)的方式更新卷积神经网络模型的权重参数,即
}
步骤四:根据更新后的卷积神经网络模型,对人脸图像进行特征提取处理,得到特征向量,即fimage=cnnweight(image)。
步骤五:根据fimage确定人脸图像中的人脸类别。这里,由于训练所用的样本人脸类别可能较少,无法涵盖需要预测的所有人脸类别,故除了对fimage分类处理的方式外,还可根据向量对比的方式,确定人脸图像image中的人脸类别。
具体地,获取至少一个已知人脸类别的对比图像,并通过更新后的卷积神经网络模型,对对比图像进行特征提取处理,得到特征向量fcontrast。举例来说,终端设备存储有一个fcontrast,该fcontrast对应一个对比图像contrast,且对比图像contrast中的人脸类别可用于解锁终端设备的桌面,例如对比图像contrast与具有登录权限的用户账户关联。当检测到某个用户发起的登录请求时,终端设备采集人脸图像image,并通过更新后的卷积神经网络模型对人脸图像image进行处理,得到对应的fimage。然后,根据fimage和fcontrast确定图像向量距离,当该图像向量距离小于距离阈值时,确定人脸图像image和对比图像contrast对应同一个人脸类别,终端设备执行解锁操作,以响应登录请求。其中,图像向量距离存在两种确定方式,第一种方式是直接将fimage与fcontrast之间的向量距离确定为图像向量距离,第二种方式是将fimage和fcontrast均切分为n个子向量,并确定fimage对应的第n个子向量与fcontrast对应的第n个子向量之间的向量距离,从1开始迭代n的取值,直至得到n个向量距离,并对得到的n个向量距离进行平均处理,得到图像向量距离。
经发明人实验验证,通过本发明实施例提供的方案,能够有效提示人脸识别的准确率,具体如下:
1)针对不同的卷积神经网络模型,在开源的人脸识别数据集lfw(labledfacesinthewild)、agedb-30以及cfp-fp上得到的准确率如下表:
其中,准确率的评估指标是在错误接受比例(far,falseacceptrate)为10-4的情况下的正确接受比例(tar,trueacceptrate),即准确率的评估指标为tar(@far=10-4)。此外,在该表中,损失函数均采用arcface损失函数,并且对于引入本发明实施例提供的方案的mobilefacenet模型,将模型输出的特征向量切分为4个子向量,对于resnet18模型和resnet50模型,将模型输出的特征向量切分为2个子向量。根据该表可以确定,无论是对于复杂度较低的轻量级模型mobilefacenet还是拥有较多参数的富有表达性的模型resnet50,通过本发明实施例提供的方案,均能提升识别的准确率。
2)针对不同的损失函数,得到的准确率如下表:
在该表中,均是以mobilefacenet模型为基础,且准确率的评估指标为tar(@far=10-4)。
3)在ijb-b数据集及ijb-c数据集上,得到的人脸识别的准确率见下表:
该表中,以arcface损失函数及resnet100模型为基础,且对于引入本发明实施例提供的方案的resnet100模型,将模型输出的特征向量切分为2个子向量。此外,该表中准确率的评估指标为tar(@far=10-4)。
4)在megaface数据集上,得到的人脸识别的准确率见下表:
该表中,以arcface损失函数及resnet100模型为基础,且对于引入本发明实施例提供的方案的resnet100模型,将模型输出的特征向量切分为2个子向量。此外,该表中准确率的评估指标包括rank-1(1m)和tar(@far=10-6),其中,rank-1指第1次命中的结果是正确结果的概率。
下面继续说明本发明实施例提供的基于人工智能的图像处理装置2431实施为软件模块的示例性结构,在一些实施例中,如图3a所示,存储在存储器240的基于人工智能的图像处理装置2431中的软件模块可以包括:提取模块24311,用于对待识别图像进行特征提取处理,得到特征向量;切分模块24312,用于将特征向量切分为n个待识别子向量;其中,n为大于1的整数;分类模块24313,用于根据n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到待识别图像中所包括内容的n个类别预测结果;类别确定模块24314,用于结合n个类别预测结果,确定待识别图像中所包括内容的类别。
在一些实施例中,基于人工智能的图像处理装置2431还包括:对比处理模块,用于对对比图像进行特征提取处理,并将得到的特征向量切分为n个对比子向量;距离确定模块,用于确定第n个待识别子向量与第n个对比子向量之间的向量距离,直至得到n个向量距离;其中,n的取值依次为1,2,……n;平均处理模块,用于对n个向量距离进行平均处理,得到图像向量距离;相同类别确定模块,用于当图像向量距离小于距离阈值时,确定待识别图像与对比图像包括相同类别的内容。
在一些实施例中,基于人工智能的图像处理装置2431还包括:采集模块,用于在接收到登录请求的设定时段内进行图像采集处理,得到待识别图像;对比图像确定模块,用于确定至少一个具有登录权限的用户账户,并将用户账户关联的图像确定为对比图像;
基于人工智能的图像处理装置2431还包括:加载模块,用于加载对比图像对应的用户账户的账户资源,以响应登录请求。
在一些实施例中,基于人工智能的图像处理装置2431还包括:目录确定模块,用于确定用户图库中的至少一个目录;遍历模块,用于对用户图库进行第一次遍历处理,将遍历到的图像确定为待识别图像,并在第一次遍历处理的过程中,对待识别图像之外的多个图像进行第二次遍历处理得到对比图像,根据第一次遍历处理得到的待识别图像和第二次遍历处理得到的对比图像构建二元图像组;
基于人工智能的图像处理装置2431还包括:图像类确定模块,用于根据二元图像组对应的图像向量距离,将用户图库中的图像添加到至少一个图像类;第一添加模块,用于当图像类中超过设定比例的图像属于同一目录时,将超过设定比例的图像所属的目录确定为目标目录,并将图像类中不属于任一目录的图像,添加至目标目录。
下面继续说明本发明实施例提供的基于人工智能的图像分类模型训练装置2432实施为软件模块的示例性结构,在一些实施例中,如图3b所示,存储在存储器240的基于人工智能的图像分类模型训练装置2432中的软件模块可以包括:样本获取模块24321,用于获取样本图像以及样本图像中所包括内容的样本类别;样本提取模块24322,用于通过图像分类模型对样本图像进行特征提取处理,得到样本特征向量;样本切分模块24323,用于将样本特征向量切分为n个样本子向量;损失确定模块24324,用于根据n个样本子向量、以及样本图像中所包括内容的样本类别,确定图像分类模型的损失值;更新模块24325,用于根据损失值在图像分类模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新图像分类模型的权重参数;其中,图像分类模型用于对待识别图像进行识别。
在一些实施例中,损失确定模块24324,还用于:根据n个样本子向量中的每个样本子向量分别进行分类处理,对应得到样本图像中所包括内容的n个样本类别预测结果;根据样本类别和第i个样本类别预测结果确定子损失值,直至得到n个子损失值;其中,i的取值依次为1,2,……n;第i个子损失值用于表示样本类别与第i个样本类别预测结果之间的差异;对n个子损失值进行累积处理,得到图像分类模型的损失值。
在一些实施例中,样本获取模块24321,还用于:获取包括多个训练样本的训练集;其中,训练样本包括样本图像以及样本图像中所包括内容的样本类别;
更新模块24325,还用于:将训练集中的至少一个训练样本添加至处理批;对处理批内所有训练样本对应的损失值进行平均处理,得到平均损失值;根据平均损失值在图像分类模型中进行反向传播。
在一些实施例中,基于人工智能的图像分类模型训练装置2432还包括:区间获取模块,用于获取预设的至少两个复杂度区间及对应的切分值;其中,切分值与复杂度区间的数值成反比关系;复杂度确定模块,用于确定图像分类模型的复杂度;切分值确定模块,用于将图像分类模型的复杂度所处的复杂度区间,确定为目标复杂度区间,并将目标复杂度区间对应的切分值确定为n。
在一些实施例中,样本获取模块24321,还用于:确定目标用户的交互对象,并确定目标用户参与的交互事件;当交互事件包括图像时,对交互事件中的文本进行命名实体识别处理,得到文本中的命名实体;当命名实体与交互对象匹配时,将交互事件中的图像确定为样本图像,并根据命名实体创建样本类别,以使不同命名实体对应的样本类别不同。
在一些实施例中,样本获取模块24321,还用于:确定目标用户的交互对象,并确定目标用户的用户图库中的至少一个目录;当目录与交互对象匹配时,将目录下的图像确定为样本图像,并根据目录创建样本类别,以使不同目录对应的样本类别不同。
在一些实施例中,基于人工智能的图像分类模型训练装置2432还包括:密钥生成模块,用于生成包括公钥和私钥的非对称密钥对;加密模块,用于根据公钥对更新后的图像分类模型进行加密,并将加密后的图像分类模型发送至区块链网络,以使区块链网络的节点将加密后的图像分类模型填充至新区块,并将新区块追加至区块链的尾部。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的基于人工智能的图像处理方法或基于人工智能的图像分类模型训练方法,例如,如图5a、图5b或图5c示出的基于人工智能的图像处理方法,或如图5d示出的基于人工智能的图像分类模型训练方法。
在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,本发明实施例能够实现以下技术效果:
1)通过将图像的特征向量切分为n个子向量,并结合n个子向量的类别预测结果共同决定图像类别,减少了不利于识别的多余信息对识别结果的影响,提升了图像识别的精度和效率。
2)通过向量切分的方式,缩短了图像分类模型的训练时长,提升了训练效率,经发明人实验验证,对于损失函数是交叉熵损失函数的情况,本发明实施例能将模型训练速度提升至传统训练方案的2到3倍;对于损失函数是arcface或cosface损失函数的情况,本发明实施例能将模型训练速度提升至传统训练方案的1.2到1.5倍。此外,通过本发明实施例,也可提升训练图像分类模型的稳定性。
3)通过计算待识别图像与对比图像之间的图像向量距离,能够提升用户验证(如登录验证)的准确性,加强用户账号的安全程度。
4)本发明实施例同样适用于图像聚类的场景,能够对用户图库中的图像进行自动聚类,提升用户体验。
5)本发明实施例在轻量级的模型上表现更为优秀,准确率提升的幅度更高,有利于部署至移动终端设备。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
1.一种基于人工智能的图像处理方法,其特征在于,包括:
对待识别图像进行特征提取处理,得到特征向量;
将所述特征向量切分为n个待识别子向量;其中,所述n为大于1的整数;
根据所述n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到所述待识别图像中所包括内容的n个类别预测结果;
结合所述n个类别预测结果,确定所述待识别图像中所包括内容的类别。
2.根据权利要求1所述的图像处理方法,其特征在于,还包括:
对对比图像进行特征提取处理,并将得到的特征向量切分为n个对比子向量;
确定第n个所述待识别子向量与第n个所述对比子向量之间的向量距离,直至得到n个所述向量距离;其中,n的取值依次为1,2,……n;
对n个所述向量距离进行平均处理,得到图像向量距离;
当所述图像向量距离小于距离阈值时,确定所述待识别图像与所述对比图像包括相同类别的内容。
3.根据权利要求2所述的图像处理方法,其特征在于,
所述对待识别图像进行特征提取处理之前,还包括:
在接收到登录请求的设定时段内进行图像采集处理,得到所述待识别图像;
确定至少一个具有登录权限的用户账户,并将所述用户账户关联的图像确定为对比图像;
所述当所述图像向量距离小于距离阈值时,确定所述待识别图像与所述对比图像包括相同类别的内容之后,还包括:
加载所述对比图像对应的用户账户的账户资源,以响应所述登录请求。
4.根据权利要求2所述的图像处理方法,其特征在于,
所述对待识别图像进行特征提取处理之前,还包括:
确定用户图库中的至少一个目录;
对所述用户图库进行第一次遍历处理,将遍历到的图像确定为待识别图像,并
在第一次遍历处理的过程中,对所述待识别图像之外的多个图像进行第二次遍历处理得到对比图像,根据第一次遍历处理得到的待识别图像和第二次遍历处理得到的对比图像构建二元图像组;
所述对n个所述向量距离进行平均处理,得到图像向量距离之后,还包括:
根据所述二元图像组对应的图像向量距离,将所述用户图库中的图像添加到至少一个图像类;
当所述图像类中超过设定比例的图像属于同一所述目录时,将所述超过设定比例的图像所属的目录确定为目标目录,并
将所述图像类中不属于任一所述目录的图像,添加至所述目标目录。
5.一种基于人工智能的图像分类模型训练方法,其特征在于,包括:
获取样本图像以及所述样本图像中所包括内容的样本类别;
通过图像分类模型对所述样本图像进行特征提取处理,得到样本特征向量;
将所述样本特征向量切分为n个样本子向量;
根据所述n个样本子向量、以及所述样本图像中所包括内容的样本类别,确定所述图像分类模型的损失值;
根据所述损失值在所述图像分类模型中进行反向传播,并
在反向传播的过程中,沿梯度下降方向更新所述图像分类模型的权重参数;
其中,所述图像分类模型用于对待识别图像进行识别。
6.根据权利要求5所述的图像分类模型训练方法,其特征在于,所述根据所述n个样本子向量、以及所述样本图像中所包括内容的样本类别,确定所述图像分类模型的损失值,包括:
根据所述n个样本子向量中的每个样本子向量分别进行分类处理,对应得到所述样本图像中所包括内容的n个样本类别预测结果;
根据所述样本类别和第i个所述样本类别预测结果确定子损失值,直至得到n个所述子损失值;
其中,所述i的取值依次为1,2,……n;第i个所述子损失值用于表示所述样本类别与第i个所述样本类别预测结果之间的差异;
对n个所述子损失值进行累积处理,得到所述图像分类模型的损失值。
7.根据权利要求5所述的图像分类模型训练方法,其特征在于,
所述获取样本图像以及所述样本图像中所包括内容的样本类别,包括:
获取包括多个训练样本的训练集;其中,所述训练样本包括样本图像以及所述样本图像中所包括内容的样本类别;
所述根据所述损失值在所述图像分类模型中进行反向传播,包括:
将所述训练集中的至少一个训练样本添加至处理批;
对所述处理批内所有训练样本对应的损失值进行平均处理,得到平均损失值;
根据所述平均损失值在所述图像分类模型中进行反向传播。
8.根据权利要求5所述的图像分类模型训练方法,其特征在于,还包括:
获取预设的至少两个复杂度区间及对应的切分值;其中,所述切分值与所述复杂度区间的数值成反比关系;
确定所述图像分类模型的复杂度;
将所述图像分类模型的复杂度所处的复杂度区间,确定为目标复杂度区间,并将所述目标复杂度区间对应的切分值确定为所述n。
9.根据权利要求5至8任一项所述的图像分类模型训练方法,其特征在于,所述获取样本图像以及所述样本图像中所包括内容的样本类别,包括:
确定目标用户的交互对象,并确定所述目标用户参与的交互事件;
当所述交互事件包括图像时,对所述交互事件中的文本进行命名实体识别处理,得到所述文本中的命名实体;
当所述命名实体与所述交互对象匹配时,将所述交互事件中的图像确定为样本图像,并根据所述命名实体创建样本类别,以使不同命名实体对应的样本类别不同。
10.根据权利要求5至8任一项所述的图像分类模型训练方法,其特征在于,所述获取样本图像以及所述样本图像中所包括内容的样本类别,包括:
确定目标用户的交互对象,并确定所述目标用户的用户图库中的至少一个目录;
当所述目录与所述交互对象匹配时,将所述目录下的图像确定为样本图像,并根据所述目录创建样本类别,以使不同目录对应的样本类别不同。
11.根据权利要求5至8任一项所述的图像分类模型训练方法,其特征在于,还包括:
生成包括公钥和私钥的非对称密钥对;
根据所述公钥对更新后的所述图像分类模型进行加密,并将加密后的所述图像分类模型发送至区块链网络,以使
所述区块链网络的节点将加密后的所述图像分类模型填充至新区块,并将所述新区块追加至区块链的尾部。
12.一种基于人工智能的图像处理装置,其特征在于,包括:
提取模块,用于对待识别图像进行特征提取处理,得到特征向量;
切分模块,用于将所述特征向量切分为n个待识别子向量;其中,所述n为大于1的整数;
分类模块,用于根据所述n个待识别子向量中的每个待识别子向量分别进行分类处理,对应得到所述待识别图像中所包括内容的n个类别预测结果;
类别确定模块,用于结合所述n个类别预测结果,确定所述待识别图像中所包括内容的类别。
13.一种基于人工智能的图像分类模型训练装置,其特征在于,包括:
样本获取模块,用于获取样本图像以及所述样本图像中所包括内容的样本类别;
样本提取模块,用于通过图像分类模型对所述样本图像进行特征提取处理,得到样本特征向量;
样本切分模块,用于将所述样本特征向量切分为n个样本子向量;
损失确定模块,用于根据所述n个样本子向量、以及所述样本图像中所包括内容的样本类别,确定所述图像分类模型的损失值;
更新模块,用于根据所述损失值在所述图像分类模型中进行反向传播,并在反向传播的过程中,沿梯度下降方向更新所述图像分类模型的权重参数;
其中,所述图像分类模型用于对识别待识别图像进行识别。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至4任一项所述的基于人工智能的图像处理方法,或权利要求5至11任一项所述的基于人工智能的图像分类模型训练方法。
15.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至4任一项所述的基于人工智能的图像处理方法,或权利要求5至11任一项所述的基于人工智能的图像分类模型训练方法。
技术总结