CN113705596A - 图像识别方法、装置、计算机设备和存储介质 - Google Patents
图像识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113705596A CN113705596A CN202110240341.6A CN202110240341A CN113705596A CN 113705596 A CN113705596 A CN 113705596A CN 202110240341 A CN202110240341 A CN 202110240341A CN 113705596 A CN113705596 A CN 113705596A
- Authority
- CN
- China
- Prior art keywords
- target
- image
- category
- confusion
- class
- 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.)
- Pending
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种图像识别方法、装置、计算机设备和存储介质。所述方法包括:获取目标正样本图像;获取目标正样本图像对应的正样本类别的混淆类别集合;其中混淆类别集合是通过图像集合的类别识别数据对类别集合进行混淆分类得到的;将混淆类别集合中的混淆类别作为负样本类别,获取负样本类别对应的目标负样本图像;基于目标正样本图像以及目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于训练后的图像识别模型进行图像识别。上述方案模型训练过程能充分分析同一混淆类别集合中的正样本图像和负样本图像之间的区别,能够得到对类别易混淆的图像进行准确识别的图像识别模型,提高了图像识别的准确性。
Description
技术领域
本申请涉及图像分类技术领域,特别是涉及一种图像识别方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的发展,出现了对图像进行识别的技术,这个技术通过对图像进行特征分析来确定图像所属的类别。在某些情况下,需要基于相似类别对图像进行区分识别,例如将容易混淆的咖啡厅与西餐厅进行区分识别。
传统技术中,在图像识别的过程中,容易将相似类别下的不同图像识别为同一类别,导致图像识别准确性较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
基于此,有必要针对上述技术问题,提供一种图像识别方法、装置、计算机设备和存储介质。
一种图像识别方法,所述方法包括:获取目标正样本图像;根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对图像集合所对应的类别集合进行混淆分类得到的;将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像;基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
一种图像识别装置,所述装置包括:正样本图像获取模块,用于获取目标正样本图像;混淆类别集合获取模块,用于根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对图像集合所对应的类别集合进行混淆分类得到的;负样本图像获取模块,用于将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像;模型训练模块,用于基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取目标正样本图像;根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对图像集合所对应的类别集合进行混淆分类得到的;将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像;基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取目标正样本图像;根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对图像集合所对应的类别集合进行混淆分类得到的;将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像;基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
上述图像识别方法、装置、计算机设备和存储介质,在同一混淆类别集合中获取目标正样本图像以及目标负样本图像,所得到的目标负样本图像是容易与目标正样本图像混淆识别的难样本图像;基于目标正样本图像以及目标负样本图像对待训练的图像识别模型进行训练,模型训练过程能充分分析同一混淆类别集合中的正样本图像和负样本图像之间的区别,进而提高训练得到的模型对相似类别下的不同图像的识别能力,因此能够得到对类别易混淆的图像进行准确识别的图像识别模型,提高了图像识别的准确性。
附图说明
图1为一个实施例中图像识别方法的应用环境图;
图2为一个实施例中图像识别方法的流程示意图;
图3为一个实施例中模块(block)的结构示意图;
图4为一个实施例中ResNet 101神经网络模块各模块的连接示意图;
图5为另一个实施例中图像识别方法的流程示意图;
图6为再一个实施例中图像识别方法的流程示意图;
图7为又一个实施例中图像识别方法的流程示意图;
图8为又一个实施例中图像识别方法的流程示意图;
图9为一个实施例中图像识别装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,本申请提供的图像识别方法、装置、计算机设备和存储介质,可以通过人工智能技术实现。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的机器学习等技术,具体通过如下实施例进行说明:
本申请提供的图像识别方法,可以应用于如图1所示的应用环境中。该应用环境中包含服务器102、终端104和终端106。其中,终端104和终端106通过网络与服务器102进行通信。服务器102配置有数据库108。在获取到目标正样本图像时,服务器102从数据库108中获取混淆类别集合,基于混淆类别集合获取目标负样本图像,根据目标正样本图像和目标负样本图像训练图像识别模型,得到已训练的图像识别模型。其中,服务器可以从终端中获取目标正样本图像,图1中未示出该终端。当终端104向服务器发送待分类图像时,服务器102通过已训练的图像识别模型来对待分类图像进行识别,得到图像分类结果,将图像分类结果输出给终端106。其中,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群或云服务器来实现。终端104或者终端106可以但不限于是各种笔记本电脑、智能手机、智能电视、台式电脑、平板电脑和便携式可穿戴设备,终端104或者终端106上可以设有用于获取图像的客户端,如视频客户端、浏览器客户端、即时通信客户端或者教育客户端等,可以通过这些客户端拍摄或者读取终端104或者终端106存储空间中的图像,进而将图像发送给服务器102处理。
在一个实施例中,如图2所示,提供了一种图像识别方法,可以理解的是,该方法可以应用于终端或者服务器,还可以应用于包括终端和服务器的系统,可以由服务器和终端共同执行,例如目标正样本图像可以是终端获取并发送给服务器的,又或者终端可以确定待处理数据的数据处理量,将数据处理量高于处理量阈值的数据上传至服务器中进行处理,将数据处理量低于处理量阈值的数据在终端中进行处理。以该方法应用于图1中的服务器为例进行说明,该方法包括以下步骤:
S202,获取目标正样本图像。
其中,图像可以为各种场景的图像。场景可以为中餐厅、西餐厅、咖啡厅、热带雨林、公园、自然河道或者沼泽等中的至少一种。图像的场景可以作为图像的类别,例如,对于西餐厅场景下的图像,认为该图像对应的类别为西餐厅。
正样本图像是想要正确分类出的类别所对应的样本图像,可以确定待训练的模型所要识别出的类别,将该类别对应的图像作为正样本图像。相对应的,负样本图像是想要正确分类出的类别之外的其他类别对应的样本图像,即负样本图像和正样本图像所对应的类别可以不同,例如:正样本图像对应的类别为咖啡厅,负样本图像对应的类别为西餐厅。
在一个实施例中,目标正样本图像可以是某一张图像,也可以是多张图像,还可以是从视频从提取的多个视频帧。进一步地,当目标正样本图像为多张时,这些目标正样本图像可以为同一类别下的图像,也可以为不同类别下的图像,例如,可以是终端上传的多个场景下的图像,也可以是终端上传的在同一场景下的多张图像。
在一个实施例中,S202的实现过程可以是:服务器获取终端上传的视频,从视频中提取视频帧,将所提取的视频帧作为目标正样本图像。也可以是服务器从混淆类别集合的各个类别对应的图像中随机选取一张,作为目标正样本图像。
S204,根据目标正样本图像对应的正样本类别,获取正样本类别对应的混淆类别集合;其中混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对图像集合所对应的类别集合进行混淆分类得到的。
其中,目标正样本图像对应的类别为正样本类别。样本图像对应的类别可以是预先标注好的。可以对样本图像进行人工标注或者自动标注,如果样本图像中的对象属于某一类别,则标注为具体的类别名称,例如:对于咖啡厅场景下拍摄的图像,则将该图像的类别标注为“咖啡厅”。
图像集合所对应的类别集合可以为由图像集合中的目标图像所对应的类别构建的集合。当目标图像对应N个类别时,类别集合可以为由这N个类别构成的集合。其中,N的大小可以根据目标图像所属类别的具体情况确定。混淆类别集合为由容易相互混淆的类别构成的集合,一个混淆类别集合中可以包含至少两个相类似的类别。同一个混淆类别集合中的类别之间的混淆度满足混淆度条件,例如混淆度条件可以包括混淆度的排序在排序阈值之前或者混淆度大于混淆度阈值的至少一个。
类别识别数据为对图像进行图像特征提取,基于所提取的图像特征得到的数据。在一些实施例中,类别识别数据包括对图像进行特征提取得到的图像提取特征或者对图像进行分类得到的类别中的至少一个。
在一个实施例中,在获取目标正样本图像和目标负样本图像之前,还可以包括确定混淆类别集合的过程。混淆类别集合中包含有至少两个容易相互混淆的类别,可以认为是类别之上的二级类别,因此混淆类别集合也可以称为超类或者大类。其中,容易相互混淆的类别可以为相似场景,例如,咖啡厅和西餐厅场景较为相似,则咖啡厅和西餐厅就可以作为容易相互混淆的类别,进而可以将咖啡厅和西餐厅整合为一个混淆类别集合,该混淆类别集合可以命名为“餐厅”。进一步的,同一混淆类别集合包含了不同的相互间容易混淆的场景,每个混淆类别集合中有2到n个场景类别,而混淆类别集合间的场景相互不容易混淆。如混淆类别集合1包含写字楼和住宅,混淆类别集合1内的两个类别容易混淆;混淆类别集合2包含公园、游乐园和园林,混淆类别集合2内的三个类别容易混淆。但混淆类别集合1内的类别不容易与混淆类别集合2中的类别混淆。其中,n的大小可以根据图像是实际场景类别确定,本申请实施例对此不做限制。
在一个实施例中,确定混淆类别集合的过程可以包括:对图像集合进行类别识别,得到类别识别数据,基于类别识别数据对图像集合所对应的类别集合进行混淆分类,将混淆分类得到的相互混淆的类别组成混淆类别集合。
在一个实施例中,可以通过预先训练的神经网络模型来对图像集合中的图像进行图像识别,得到类别识别数据,将类别识别数据对应的类别组合为混淆类别集合。这种方式下,混淆类别集合是由神经网络模型结果推断而来,不需要人工标注样本与混淆类别集合之间的对应关系,故不引入人工标注,能有效减少人工标注的成本。
在一个实施例中,也可以预先标注所有类别对应的混淆类别集合。如将写字楼和住宅的类别文字标签都聚合到房屋这一混淆类别集合中。这种预先标注的方式能够得到较为准确的混淆类别集合。在一个实施例中,预先标注的实现过程可以为:确定各种可能的类别,将相似类别对应的类别文字标签进行聚合,以得到混淆类别集合。举例说明如下,假设有1000张图像,这1000张图像对应100个类别,则对100个类别的类别词进行聚合,得到10个混淆类别集合。在一个实施例中,对于写字楼、住宅、公园和游乐园这4个场景类别,写字楼和住宅容易混淆,公园和游乐园容易混淆,住宅和公园不容易混淆等,因此,将“写字楼”和“住宅”的类别文字标签记录到“楼房”这一混淆类别集合下,将“公园”、和“游乐园”的类别文字标签记录到“园林”这一混淆类别集合下。这种方式无需一一标注具体某张图属于哪个混淆类别集合,标注量极少,故不会引入大量的标注成本,还能保证混淆类别集合的准确性,保证图像识别模型训练的可靠性,进而提高图像识别的准确性。
在一个实施例中,S204的实现过程可以为:获取预先确定的混淆类别集合,在获取到目标正样本图像时,确定目标正样本图像的正样本类别所属的混淆类别集合。
S206,将混淆类别集合中的混淆类别作为负样本类别,将负样本类别对应的图像作为目标正样本图像对应的目标负样本图像。
在一个实施例中,可以将混淆类别集合中的任意类别作为负样本类别,也可以将混淆类别集合中正样本类别之外的类别作为负样本类别。
其中,负样本类别的数量可以是至少一个。在一个实施例中,可以在混淆类别集合除去正样本类别的类别中,将至少一个类别确定为负样本类别。
在一个实施例中,可以将负样本类别对应的所有或者部分图像作为目标负样本图像。
在另一个实施例中S204和S206的实现过程可以为:对图像集合进行类别识别,得到类别识别数据,基于类别识别数据对图像集合所对应的类别集合进行混淆分类,将混淆分类得到的相互混淆的类别组成混淆类别集合,在获取到目标正样本图像时,确定目标正样本图像的正样本类别所属的混淆类别集合,从该混淆类别集合的混淆类别确定为负样本类别,进而得到目标负样本图像。
S208,基于目标正样本图像以及目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于训练后的图像识别模型进行图像识别。
其中,图像识别模型可以为神经网络模型,可以为循环型神经网络(RNN)或者卷积神经网络(CNN)等中的至少一种,不同的神经网络模型可以具有不同的网络结构。
在一个实施例中,在确定图像识别模型的结构之后,可以基于不同的网络参数构建得到待训练的图像识别模型,将目标正样本图像以及目标负样本图像输入到待训练的图像识别模型中。在训练过程中,图像识别模型提取样本图像的图像特征,得到图像提取特征,基于图像提取特征对样本图像进行分类,根据分类结果的准确性来调整模型参数,直到图像识别模型的分类结果的准确性满足条件,将此时的图像识别模型判定为已训练的图像识别模型。
在一个实施例中,可以将目标正样本图像以及目标负样本图像作为一个训练对,基于训练对来训练图像识别模型。在训练过程中,图像识别模型提取目标正样本图像以及目标负样本图像的图像特征,得到图像提取特征,基于图像提取特征进行分类,根据分类结果来调整模型参数,以得到训练后的图像识别模型。训练后的图像识别模型是充分分析目标正样本图像以及目标负样本图像的图像特征差异之后得到的模型。能够准确地将待识别图像的类别与负样本类别进行区分,也即,能够有效负样本类别的干扰,进而准确输出待识别图像的类别。
上述图像识别方法中,在同一混淆类别集合中获取目标正样本图像以及目标负样本图像,所得到的目标负样本图像是容易与目标正样本图像混淆识别的难样本图像;基于目标正样本图像以及目标负样本图像对待训练的图像识别模型进行训练,模型训练过程能充分分析同一混淆类别集合中的正样本图像和负样本图像之间的区别,进而提高训练得到的模型对相似类别下的不同图像的识别能力,因此能够得到对类别易混淆的图像进行准确识别的图像识别模型,提高了图像识别的准确性。
在一个实施例中,当采用神经网络模型来对图像集合进行类别识别以得到类别混淆集合时,所采用的神经网络模型可以为深度神经网络模型。另外,图像识别模型也可以是深度神经网络模型。上述神经网络模型和图像识别模型可以通过同一个深度神经网络模型实现,也可以通过不同的神经网络模型实现。
在一个实施例中,深度神经网络模型可以具有多层的神经网络结构,例如,深度神经网络模型可以是基于ResNet101(深度残差网络101层)的网络模型。ResNet101中有一个模块(block)的结构如图3所示,该图为一个三层的残差模块。256-d代表输入为256维。1×1以及3×3代表卷积核的尺寸,64和256代表通道数。圆圈内一个加号代表相加,即恒等映射。ReLU(Rectified Linear Unit,线性整流函数)表示利用激活函数进行激活,用于降低参数的数目。如图3所示,模块给予卷积核和ReLU来对输入进行多层处理,将多层处理的结果与输入进行叠加,对叠加结果进行ReLU处理,进而得到该模块的输出。
如下表1,为一些实施例中深度神经网络模型中ResNet101的结构表
表1 ResNet101的结构表
其中,×3、×4以及×23分别表示有3个模块、4个模块以及23个模块。
如下表2所示,为深度神经网络模型中输出层的结构表。
表2输出层的结构表
层名称 | 输出大小 | 层 |
Pool_cr | 1×2048 | 最大池化 |
Fc_cr | 1×N_cr | 全连接 |
其中,Pool_cr层输出的结果为深度特征embedding,即进行深度特征提取得到的1*2048特征向量。Fc_cr层输出的结果为分类结果,其中,Fc表示fullyconnected(全连接)。Fc_cr层的网络参数是从高斯分布中采样获得,即对于Fc_cr的某个权重,从高斯分布获取一个样本作为权重值,循环多次直到所有Fc_cr的权重都被赋值。其中,N_cr表示全连接层进行分类预测得到的目标类别的个数。
在一个实施例中,深度神经网络模型为将上表1和上表2对应的结构连接在一起构成的网络模型,按照表中一个个模块按顺序做前向计算,可以完成一次深度神经网络模型的前向训练。ResNet 101神经网络模块各模块的连接示意图可以如图4所示,该ResNet 101神经网络模块包括特征提取模块和分类模块组成。特征提取模块包括Conv1模块、Conv2模块、Conv3模块、Conv4模块以及Conv5模块等小模块。如上表2所示,图4中的分类模型为最大池化层和全连接层的组合。进一步地,如图4所示,特征提取模块中的各个小模块可以由最大池化层,Conv2_x,Conv3_x,Conv4_x和Conv5_x等构成,其中,Conv2_x,Conv3_x,Conv4_x和Conv5_x分别表示第2-5卷积层。例如,Conv2模块由最大池化层和3个Conv2_x层组成,Conv3模块由最大池化层和4个Conv3_x层组成,Conv4模块和Conv5模块的组成类似,在此不再赘述。
其中,Conv5模块输出训练样本图像的深度特征feature map,即输出目标图像的图像提取特征。Pool_cr层根据Conv5模块输出的图像提取特征输出1*2048的一维特征向量,标识为embedding,为图像在经过深度学习神经网络前向计算后输出的深层高维度特征。Fc_cr层根据Pool_cr层的输出得到各类别的预测概率,当目标类别为N个时,Fc_cr层的输出可以为1*N的特征向量,特征向量中的每个特征表示对应类别下的预测概率。据此,深度神经网络模型输出各个目标图像对应的目标类别。其中,feature map表示图像和滤波器进行卷积后得到的特征图。feature map可以和滤波器进行卷积生成新的feature map。
在一个实施例中,得到混淆类别集合的步骤包括:获取目标图像集合;目标图像集合包括至少两个目标图像,各个目标图像对应的目标类别形成类别集合;对目标图像集合中的各个目标图像进行图像识别,得到各个目标图像对应的类别识别数据;基于类别识别数据确定目标类别之间的类别混淆度;基于类别混淆度对类别集合中的目标类别进行混淆分类,得到混淆类别集合。
其中,目标图像对应的目标类别为目标图像所属的类别,可以通过预先标注的方式确定,也可以通过已训练的图像识别模型对目标图像进行图像分类得到。将目标图像对应的目标类别组合为集合,即得到类别集合。目标图像集合包括至少两个目标图像,而各个目标图像对应的目标类别形成类别集合。因此,当一个目标图像对应一个目标类别时,目标图像集合可以对应至少两个目标类别。
在一个实施例中,图像提取特征可以是通过卷积等方式从图像中提取的特征,可以表示为特征向量。在某些实施例中,可以通过神经网络模型等来对目标图像进行特征提取。可以将图像识别模型中的卷积层卷积得到的特征图,通过池化层进行池化,将池化层输出的深度特征embedding作为图像特征向量,进而将图像特征向量作为类别识别数据。在一个实施例中,在神经网络模型中配置embedding层,由embedding层将从图像中提取的离散特征转变为特征向量,并作为类别识别数据输出。
在一个实施例中,可以通过卷积等方式从图像中提取的特征,基于所提取特征对目标图像进行分类,将分类结果确定为类别识别数据。在某些实施例中,可以通过神经网络模型等来对目标图像进行特征提取和分类,例如,在神经网络模型中配置embedding层和分类层,通过embedding层将从图像中提取的离散特征转变为特征向量,通过分类层对特征向量进行分类,将分类结果作为类别识别数据输出。
类别混淆度为目标类别之间容易相互混淆的程度,类别混淆度越高,对应的目标类别越容易混淆,则图像识别模型越容易将对应的图像识别为同一类别。类别混淆度可以根据目标类别之间的特征相似度确定,例如,可以根据图像提取特征确定目标类别之间的特征相似度,进而根据特征相似度确定目标类别之间的类别混淆度;也可以根据对目标图像进行分类识别的结果确定,例如,当将原本为A类别的图像识别为B类别,则可以认为A类别和B类别容易相互混淆,如果多次将A类别识别为B类别,则可以将误识别的次数作为A类别和B类别之间的类别混淆度。
在得到目标类别之间的类别混淆度之后,可以根据类别混淆度来对目标类别进行混淆分类。具体的,可以将类别混淆度满足混淆度条件的对应目标类别作为相互混淆的类别,例如:将满足混淆度条件的相关至少两个目标类别作为一个相互混淆的类别,作为一个混淆类别集合。
上述实施例,通过对目标图像集合中的目标图像进行图像识别得到类别识别数据,根据类别识别数据得到目标类别之间的类别混淆度,进而基于类别混淆度对目标类别进行混淆分类,以将容易混淆的目标类别分到一个混淆类别集合中,使得混淆类别集合内的类别是相似的类别,而混淆类别集合间的类别是不相似的类别。基于此,同一混淆类别集合中对应的正负样本图像之间具有较高的相似度,负样本图像可以作为正样本图像的难样本,进而可以训练得到可靠的图像识别模型。
在一个实施例中,类别识别数据包括对目标图像进行特征提取得到的图像提取特征;基于类别识别数据确定目标类别之间的类别混淆度,包括:基于图像提取特征得到目标类别之间的特征相似度;基于目标类别之间的特征相似度确定目标类别之间的类别混淆度。
其中,目标类别之间的特征相似度可以包括目标类别所对应特征之间的相似度,也可以包括目标类别的目标图像的特征之间的相似度,还可以包括某一目标类别所的目标图像的特征与其他目标类别的特征之间的相似度。
在一个实施例中,特征相似度与类别混淆度可以成正相关关系,当特征相似度高时,类别混淆度也高,在某些情况下,类别混淆度也可以直接通过特征相似度表示。在一个实施例中,也可以根据特征相似度的分布来确定类别混淆度,例如:当特征相似度小于第一相似度阈值时,将类别混淆度确定为某个固定值,这个固定值可以预先设定,具体大小可以根据实际情况确定;当特征相似度大于或等于第二相似度阈值时,类别混淆度与特征相似度成正相关关系,例如:特征相似度为0.1,则类别混淆度确定为0.2,特征相似度为0.2,则类别混淆度确定为0.4。
在一个实施例中,可以根据至少两个目标类别之间的特征相似度来分别确定这些目标类别之间的类别混淆度。具体的,根据预先确定的正相关关系表达式,对两个目标类别之间的特征相似度进行运算,例如:乘以某个系数将运算结果确定为这两个目标类别之间的类别混淆度。
上述实施例,通过图像提取特征来计算目标类别之间的特征相似度,进而确定目标类别之间的类别混淆度,所确定的类别混淆度充分整合了图像提取特征,具有较高的准确性,且运算量小,能有效保证类别混淆度的确定效率。
在一个实施例中,可以从目标类别的角度来进行特征相似度计算。具体地,基于图像提取特征得到目标类别之间的特征相似度包括:对不同目标类别对应的图像提取特征进行统计,得到各个目标类别分别对应的类别表示特征;基于目标类别分别对应的类别表示特征得到目标类别之间的特征相似度。
其中,类别表示特征用于表征目标类别的特征,可以表示为特征向量的形式。在某些实施例中,类别表示特征可以表示为向量维度为1*2048的特征向量。
对不同目标类别对应的图像提取特征进行统计的实现过程可以为:对于任意一个目标类别,将该目标类别对应的目标图像的图像提取特征进行统计,例如,计算所有目标图像的图像提取特征的平均值或者加权和等中的至少一项,将统计结果作为该目标类别的类别表示特征,按照类似的方式确定所有目标类别的类别表示特征。计算目标类别之间的类别表示特征的相似度,得到目标类别之间的特征相似度。
上述实施例,基于图像提取特征来计算目标类别之间的特征相似度,图像提取特征往往可以表示为向量的形式,而对向量进行运算的运算量是较小的,因此能够有效提高特征相似度的计算效率,进而提高模型训练的效率。
也可以从目标图像和目标类别的角度来进行特征相似度计算,例如:基于某一目标类别A的目标图像的特征和目标类别B的特征之间的相似度来得到目标类别A与目标类别B之间的特征相似度。
在一个实施例中,基于目标类别分别对应的类别表示特征得到目标类别之间的特征相似度包括:获取当前目标图像对应的当前图像提取特征,当前目标图像属于第一目标类别;计算当前图像提取特征与各个第二目标类别对应的类别表示特征的特征相似度,将计算得到的特征相似度作为第一目标类别与第二目标类别之间的特征相似度。
其中,当前目标图像为服务器运行到某一阶段时所针对的目标图像,可以是目标图像集合中的任意一张目标图像。当前图像提取特征为对当前目标图像进行图像识别所提取的图像特征,可以表示为特征向量的形式。在一个实施例中,当前图像提取特征可以和类别表示特征一样,表示为向量维度为1*2048的特征向量。
在一个实施例中,第一目标类别和各个第二目标类别均可以为类别集合中的类别。在确定第一目标类别时,可以将类别集合中剩下的目标类别确定为第二目标类别。
在某些实施例中,对于任意一个目标类别,可以将该目标类别对应的所有目标图像的图像提取特征分别与类别集合中其他目标类别的类别表示特征进行相似度计算,得到相似度计算结果,对各个目标图像的相似度计算结果进行统计,得到该目标类别与其他目标类别之间的特征相似度。
在一个实施例中,类别识别数据包括对目标图像进行特征提取得到的图像特征向量,目标类别的类别表示特征为根据图像特征向量确定的类别特征向量;基于所述目标类别分别对应的类别表示特征得到目标类别之间的特征相似度,包括:获取当前目标图像对应的目标图像特征向量;分别确定目标图像特征向量与各个第二目标类别的类别特征向量之间的相似度,得到第一目标类别与各个第二目标类别之间的特征相似度。
在一个实施例中,确定类别特征向量的过程包括:对于任意一个目标类别,确定对应的目标图像的图像特征向量;计算目标图像的图像特征向量的平均值,得到与该任意一个目标类别的类别特征向量。
上述实施例,基于目标图像的图像提取特征与特定的目标类别的类别表示特征进行特征相似度计算,通过简单的向量计算就可以得到目标类别之间的特征相似度,能够有效提高特征相似度的计算效率,进而提高模型训练的效率。
在一个实施例中,基于目标类别之间的特征相似度确定目标类别之间的类别混淆度包括:当第一目标类别与第二目标类别之间的特征相似度满足相似度条件时,增加第一目标类别与第二目标类别之间的类别混淆度;其中,相似度条件包括:特征相似度的排序在第一排序阈值之前或者特征相似度大于相似度阈值的至少一种。
其中,增加第一目标类别与第二目标类别之间的类别混淆度可以是增加类别混淆度的数值,进一步地,可以在类别混淆度原有数值的基础上进行数值增加处理,例如,在类别混淆度原有数值的基础上加上预设的数值,预设的数值可以根据需要设置,例如可以是1。例如类别混淆度的初始值可以为0,根据各个目标类别之间的特征相似度可以对类别混淆度进行逐步+1处理,并将最终得到的类别混淆度确定为对应目标类别之间的类别混淆度。
第一排序阈值可以是预先设定的固定值,也可以根据目标类别的数量确定。具体地,第一排序阈值可以是4或者6等固定值。第一排序阈值也可以根据目标类别的数量计算得到。进一步地,获取预设的第一排序系数,将第一排序系数乘以目标类别的数量,即得到第一排序阈值。相似度阈值可以为0.8或者0.9,相似度阈值的数值范围可以为[0,1]。
在一个实施例中,对各个特征相似度按照降序进行排序,即按照从大到小的顺序进行排序,特征相似度越大,则排序越前。当特征相似度的排序在第一排序阈值之前时,对应的第一目标类别与第二目标类别之间的特征相似度满足相似度条件,将对应的第一目标类别与第二目标类别之间的类别混淆度进行数值增加处理。例如,第一排序阈值为4时,当确定目标类别1与目标类别2之间的特征相似度排在前三时,将目标类别1与目标类别2之间的类别混淆度进行+1处理;当确定目标类别1与目标类别3之间的特征相似度排在前三时,将目标类别1与目标类别3之间的类别混淆度进行+1处理。
在一个实施例中,将各个特征相似度与相似度阈值进行比较,当特征相似度大于相似度阈值时,对应的第一目标类别与第二目标类别之间的特征相似度满足相似度条件,将对应的第一目标类别与第二目标类别之间的类别混淆度进行数值增加处理。例如,当相似度阈值为0.8时,如果确定目标类别1与目标类别2之间的特征相似度为0.75,小于0.8,判定目标类别1与目标类别2不是相互混淆的类别,不对类别混淆度进行变动;如果确定目标类别1与目标类别3之间的特征相似度为0.9,大于0.8,判定目标类别1与目标类别3是相互混淆的类别,将目标类别1与目标类别3之间的类别混淆度进行+1处理。
上述实施例中,基于目标图像的图像提取特征得到目标类别的特征相似度,根据目标类别之间的特征相似度来确定类别混淆度,通过简单的运算就可以得到准确可靠的类别混淆度。
在一个实施例中,类别识别数据包括对目标图像进行分类得到的第三目标类别;基于类别识别数据确定目标类别之间的类别混淆度,包括:将第三目标类别与目标图像对应的标准类别进行对比;标准类别为第四目标类别;当第三目标类别与目标图像对应的标准类别对比不一致时,增加第三目标类别与第四目标类别之间的类别混淆度。
其中,目标图像对应的标准类别可以是目标图像的准确类别,可以通过预先标注的方式来确定目标图像的标准类别。
在一个实施例中,第三目标类别和第四目标类别均可以为类别集合中类别。
增加第三目标类别与第四目标类别之间的类别混淆度可以是增加类别混淆度的数值,进一步地,在类别混淆度原有数值的基础上加上预设的数值,预设的数值可以根据需要设置,例如可以是1。例如进行+1处理等。类别混淆度的初始值可以为0。当误将第四目标类别识别为第三目标类别时,对第三目标类别和第四目标类别之间的类别混淆度进行+1处理,当出现多次误识别时,根据误识别的累积次数得到类别混淆度的最终结果,并将最终得到的类别混淆度确定为第三目标类别和第四目标类别之间的类别混淆度。
在一个实施例中,可以通过神经网络模型来对目标图像进行分类,将神经网络模型的分类结果确定为第三目标类别。另外,可以将目标图像的实际类别确定为第四目标类别。
上述实施例中,当对目标图像进行分类得到的分类结果与标准类别不一致时,判定分类结果对应的类别与标准类别是容易相互混淆的类别,进而对这两者之间的类别混淆度进行增加处理。类别混淆度的确定过程简单,能有效保证类别混淆度的确定效率。
在一个实施例中,基于类别混淆度对类别集合中的目标类别进行混淆分类,得到混淆类别集合,包括:将类别集合中类别混淆度满足混淆度条件的目标类别作为相互混淆的类别,将相互混淆的类别组成混淆类别集合;其中,混淆度条件包括:类别混淆度的排序在第二排序阈值之前或者类别混淆度大于混淆度阈值的至少一个。
其中,第二排序阈值可以是预先设定的固定值,也可以根据目标类别的数量确定。具体地,第二排序阈值可以为3或者5等固定值。第二排序阈值也可以根据目标类别的数量计算得到。进一步地,获取预设的第二排序系数,该第二排序系数可以为0.1或者0.2,将第二排序系数乘以目标类别的数量,即得到第二排序阈值。
混淆度阈值可以是预先设定的固定值,也可以根据目标类别的总体类别混淆度动态确定。具体地,混淆度阈值可以为20或者40等固定值。混淆度阈值也可以根据目标类别的总体类别混淆度统计值计算得到。例如,获取预设的混淆度系数,该混淆度系数可以为0.8或者0.9,将混淆度系数乘以所有目标类别的类别混淆度平均值,即得到混淆度阈值。
在一个实施例中,将类别混淆度高的目标类别聚合为混淆类别集合,并以混淆类别集合为单元进行正负样本图像的确定。
在一个实施例中,对各个类别混淆度进行排序,排序可以按照从大到小的降序形式进行,类别混淆度越大,则排序越前。当类别混淆度的排序在第二排序阈值之前时,对应的目标类别之间的易混淆程度足够高,将对应的目标类别作为相互混淆的类别。例如,当第二排序阈值为4时,当确定目标类别1与目标类别2之间的类别混淆度排在前三时,将目标类别1与目标类别2作为相互混淆的类别,并聚合为混淆类别集合;当确定目标类别1与目标类别3之间的类别混淆度排在前三时,将目标类别1与目标类别3作为相互混淆的类别,并聚合为混淆类别集合。
在一个实施例中,将各个类别混淆度与混淆度阈值进行比较,当类别混淆度超过混淆度阈值时,对应的目标类别之间的易混淆程度足够高,将对应的目标类别作为相互混淆的类别。例如,当混淆度阈值为20时,确定目标类别1与目标类别2之间的类别混淆度为10,小于20,判定目标类别1与目标类别2不是相互混淆的类别;如果确定目标类别1与目标类别3之间的类别混淆度为30,大于20,判定目标类别1与目标类别3是相互混淆的类别,并聚合为混淆类别集合。
当相互混淆的类别之间存在相同的类别时,可以将这些相互混淆的类别作为独立的混淆类别,也可以合并为一个混淆类别。例如:假设目标类别1与目标类别2为相互混淆的类别,目标类别1与目标类别3是相互混淆的类别,这两个相互混淆的类别中有一个相同的类别:目标类别1。此时可以将目标类别1和目标类别2聚合一个混淆类别集合,将目标类别1和目标类别3聚合为一个混淆类别集合;另外,也可以将目标类别1、目标类别2以及目标类别3一起聚合为混淆类别集合,即实现了相互混淆的类别之间的合并。
进一步地,根据聚合得到的混淆类别确定混淆类别集合,包括:在聚合得到的混淆类别中,将存在相同目标类别的混淆类别进行合并,以得到混淆类别集合。
上述实施例中,基于目标图像的图像提取特征得到目标类别的特征相似度,根据目标类别之间的特征相似度来确定类别混淆度,通过简单的运算就可以得到准确可靠的类别混淆度。另外,由于特征相似的类别才会聚合到同一混淆类别集合中,故混淆类别集合内的类别必定在特征层面具有一定相似性,当特征来自于神经网络模型的embedding时,由于这个embedding是识别训练结果,故embedding具有语义表征的能力。基于此,上述实施例通过语义混淆度量来量化混淆程度,从而自动产生混淆类别集合,能产生更有意义的难样本。
在一些实施例中,也可以通过聚类算法将相互混淆的类别聚合为混淆类别集合。其中,聚类是指将集合分成由类似的对象组成的多个类的过程,聚类算法可以采用K均值(K-means)算法或K中心点算法(k-medoids)。通过聚类算法将至少两个目标类别聚合为一个混淆类别集合。
在一个实施例中,基于目标正样本图像以及目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型包括:将目标正样本图像输入到待训练的图像识别模型中进行特征提取,得到目标正样本图像对应的目标正样本特征;将目标负样本图像输入到待训练的图像识别模型中进行特征提取,得到目标负样本图像对应的目标负样本特征;确定目标正样本特征以及目标负样本特征之间的第一样本特征距离;基于第一样本特征距离确定目标模型损失值,其中目标模型损失值与第一样本特征距离成负相关关系;基于目标模型损失值调整待训练的图像识别模型的模型参数,得到训练后的图像识别模型。
其中,目标模型损失值可以是预先构建的损失函数(loss function)对应的数值。损失函数是用于表示事件的“风险”或“损失”的函数。
其中,模型参数是指图像识别模型内部的变量参数,对于神经网络模型,也可以称为神经网络权重(weight)。
已训练的图像识别模型可以是经过一次或者多次训练得到的。具体地,服务器可以朝着损失值变小的方向调整待训练的图像识别模型中的模型参数,经过一次训练或多次迭代训练,得到已训练的图像识别模型。
其中,样本特征距离可以为欧式距离。在一个实施例中,确定目标正样本特征以及目标负样本特征之间的欧式距离,得到第一样本特征距离。在一个实施例中,可以基于第一样本特征距离的计算表达式来构建损失函数,进而基于损失函数的损失值来调整图像识别模型的模型参数。
在一个实施例中,可以将目标正样本图像和目标负样本图像构建为二元组,将二元组输入到待训练的图像识别模型中,进而得到训练后的图像识别模型。在这种情况下,图像识别模型对二元组内的目标正样本图像和目标负样本图像进行同步分析,能充分融合目标正样本图像和目标负样本图像的样本特征,进而得到能将目标正样本图像和目标负样本图像进行准确区分的已训练模型。
在一个实施例中,基于目标模型损失值调整待训练的图像识别模型的模型参数,得到训练后的图像识别模型包括:根据目标模型损失值进行反向传播,并在反向传播的过程中,沿梯度下降方向更新图像识别模型的模型参数,得到已训练的图像识别模型。
其中,反向是指参数的更新与图像的识别的方向是相反的,由于参数的更新是反向传播的,因此可以根据目标模型损失值得到下降梯度,从图像识别模型的最后一层开始,根据下降梯度开始进行模型参数的梯度更新,直至到达图像识别模型的第一层。梯度下降方法可以是随机梯度下降法和批量梯度下降等等。可以理解,模型的训练可以是迭代多次的,即已训练的图像识别模板可以是迭代训练得到的,当满足模型收敛条件时再停止训练,模型收敛条件可以是模型损失值的小于预设损失值,也可以是当模型参数的变化小于预设参数变化值。
在一个实施例中,采用基于SGD(Stochastic Gradient Descent,随机梯度下降)的梯度下降法求解图像识别模型的模型参数:对模型中的卷积模板参数w和偏置参数b等参数设置初始值。在每次迭代过程中,计算预测结果误差并反向传播到图像识别模型,计算梯度并更新图像识别模型的参数。具体过程为:把模型的所有参数都设为需要学习状态,训练时图像识别模型对输入的一张图像进行前向计算得到预测结果,把预测结果与真实结果对比计算模型的损失值,通过分类的交叉熵损失函数计算损失值,把损失值回传到图像识别模型中通过随机梯度下降法更新模型参数,从而实现一次权重优化,经过多次优化,最终得到表现良好的图像识别模型。图像识别模型的初始学习率可以设置为0.01,每隔一定轮次的迭代学习后学习率可以乘以下降系数以降低学习率,如每10轮乘以0.1。
上述实施例中,将正负样本图像输入到图像识别模型中,图像识别模型进行特征提取,得到对应的样本特征,基于正负样本图像之间的样本特征距离来确定模型损失值,该模型损失值与样本特征距离成负相关关系,在进行模型训练的过程中,通过调整模型参数可以得到不同的模型损失值,当模型损失值尽可能小时,判定图像识别模型训练结束,此时可以得到训练后的图像识别模型。该训练后的图像识别模型能够通过已调整的模型参数尽可能扩大正样本特征与负样本特征之间的距离,进而使得图像识别模型在进行图像分类的过程中不会将正确的类别识别为负样本特征对应的类别,得到准确的图像识别结果。
正样本图像的数量可以为至少一个,例如,可以为目标正样本图像和参考正样本图像中的至少一个。
在一个实施例中,方法还包括:选取正样本类别对应的图像,作为参考正样本图像;基于第一样本特征距离确定目标模型损失值包括:将参考正样本图像输入到待训练的图像识别模型中进行特征提取,得到参考正样本图像对应的参考正样本特征;确定目标正样本特征以及参考正样本特征之间的第二样本特征距离;基于第一样本特征距离确定第一模型损失值,其中第一模型损失值与第一样本特征距离成负相关关系;基于第二样本特征距离确定第二模型损失值,其中第二模型损失值与第二样本特征距离成正相关关系;根据第一模型损失值以及第二模型损失值得到目标模型损失值。
其中,参考正样本图像与目标正样本图像对应的目标类别可以一致。在一个实施例中,在获取到目标正样本图像时,在目标正样本图像对应的正样本类别中选取参考正样本图像。
在一个实施例中,可以将目标正样本图像、参考正样本图像和目标负样本图像构建为三元组样本图像(也可以简称为三元组),将三元组样本图像输入到待训练的图像识别模型中,进而得到训练后的图像识别模型。即,在混淆类别集合中,在某个类别对应的目标图像中确定目标正样本图像,在同一类别对应的目标图像中确定参考正样本图像,可以是在同一类别对应的目标图像中随机选择一个目标图像作为参考正样本图像,在另一类别对应的目标图像中确定目标负样本图像,同样的,可以是在另一类别对应的目标图像中随机选择一个目标图像作为目标负样本图像。
在一个实施例中,可以基于第一样本特征距离的计算表达式来构建第一损失函数,基于第二样本特征距离的计算表达式来构建第二损失函数,进而基于第一损失函数的损失值和第二损失函数的损失值之和来调整图像识别模型的模型参数。
在一个实施例中,三元组的数量可以为至少一个。对于三元组的数量为多个的情况,可以在确定目标正样本图像之后,多次从同一类别对应的目标图像中确定参考正样本图像,并多次在另一类别对应的目标图像中确定目标负样本图像,将每次得到的参考正样本图像以及目标负样本图像与目标正样本图像构成一个三元组,进而得到多个三元组。
在一个实施例中,确定三元组的过程可以为:
对混淆类别集合中的每个类别:
对每个目标正样本图像(anchor,简称为a):
a、随机选择同一类别的目标图像,作为参考正样本图像(p);
b、随机选择同一类别集合不同类别的目标图像,作为目标负样本图像(n);
c、组成一个三元组(a,p,n);
d、执行上述a-c共5次,对a样本产生5个三元组。在其他实施例中,执行a-c的次数可以更小也可以更多。
之后可以将这5个三元组一起输入到待训练的图像识别模型中,进行模型训练,进而得到已训练的图像识别模型。
在一个实施例中,可以基于Triplet-loss来构建损失函数。其中,Triplet-loss是机器学习中一种识别模型的度量方法,对某个输入样本,先获取其和与之同类别的某个样本间的特征距离(即,正样本特征距离),及其和不同类别的某样本特征距离(即,负样本特征距离),将负样本特征距离与正样本特征距离之间的差异作为对输入样本的误差值。
在一个实施例中,根据目标正样本图像、参考正样本图像和目标负样本图像的三元组样本图像构建的损失函数可以表示为:
L=max(d(a,n)-d(a,p)-margin,0)
其中,margin为预先设立的距离,margin的大小可以根据实际情况确定,可以为4。设置margin的目的是拉大a与n之间的样本特征距离,缩小a与p之间的样本特征距离。d(a,n)表示a与n之间的第一样本特征距离,d(a,p)表示a与p之间的第二样本特征距离。损失值为d(a,n)-d(a,p)-margin和0中的最大值,通过这样的设置方式,能避免所得到的损失值为负值,进而防止负损失值造成的网络不收敛。进一步地,当margin为4时,上述公式的含义是:(a与p之间的第二样本特征距离+4)小于(a与n之间的第一样本特征距离)。
上述实施例中,基于目标正样本特征与参考正样本特征之间的样本特征距离以及目标正样本特征与目标负样本特征之间的样本特征距离,来确定模型损失值,进而得到训练后的图像识别模型。该训练后的图像识别模型能够通过已调整的模型参数尽可能扩大目标正样本特征与目标负样本特征之间的样本特征距离,减小参考正样本特征与目标正样本特征之间的样本特征距离,进而使得图像识别模型在进行图像分类的过程中不会将正确的类别识别为负样本特征对应的类别,得到准确的图像识别结果。
在一个实施例中,如图5所示,为图像识别方法的实现流程图。可以理解的是,该方法也可以应用于终端或者服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。以该方法应用于服务器为例具体说明如下:
S502,获取目标图像。
S504,获取目标图像对应的目标类别。对目标图像进行图像识别,得到各个目标图像对应的目标类别。
S506,对目标类别进行混淆分类,得到混淆类别集合。确定目标类别之间的类别混淆度,基于类别混淆度对目标类别进行混淆分类,得到混淆类别集合。
S508,从混淆类别集合中获取三元组样本图像。在获取到目标正样本图像时,从混淆类别集合中获取与目标正样本图像对应的目标负样本图像和参考正样本图像,构建三元组样本图像。
S510,训练图像识别模型。基于三元组样本图像对图像识别模型进行训练,进而得到已训练的图像识别模型。
上述实施例,能基于正负样本图像的图像特征之间的差异来训练图像识别模型,得到可以准确进行图像分类的图像识别模型。
在一个实施例中,除了基于三元组样本图像来对图像识别模型进行训练,还可以结合目标图像来对图像识别模型进行训练。其中,三元组样本图像作为一个训练任务,目标图像作为另一个训练任务,结合这两个训练任务来对图像识别模型进行训练学习,实现图像识别模型的多任务学习。如图6所示,在图5对应实施例的基础上,将三元组样本图像和目标图像一起作为训练样本输入到待训练的图像识别模型中,进行模型训练,以得到已训练的图像识别模型。
上述实施例中,基于混淆类别集合来提取样本图像,进而构建三元组,三元组的确定过程不需要人工标注,使得多任务学习不需要额外的人工标注成本。另外,相对于传统的对图像识别模型训练过程,上述实施例整合了三元组样本,能使得训练后的图像识别模型具有较高的图像识别准确性。因此,上述实施例能够在不增加额外标注成本的情况下有效提高图像识别的准确性。
如图7所示,提供一种图像识别方法,可以理解的是,该方法可以应用于终端或者服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。以该方法应用于服务器为例,包括以下步骤:
S702,获取目标图像。
S704,对目标图像进行深度特征提取。对目标图像进行图像识别,得到各个目标图像对应的目标类别,对目标图像的深度特征进行提取,得到深度特征embedding。
S706,由分类层对embedding进行分析,以得到分类结果。
S708,根据损失值调整模型参数。根据分类结果与图像标注类别进行比较,根据比较结果调整模型参数,以使得损失函数对应的损失值尽可能小。
S710,根据分类结果确定混淆类别集合。确定目标类别之间的类别混淆度,基于类别混淆度对目标类别进行混淆分类,得到混淆类别集合。
S712,从混淆类别集合中获取三元组样本图像。在获取到目标正样本图像时,从混淆类别集合中获取目标负样本图像和参考正样本图像,基于目标正样本图像、参考正样本图像和目标负样本图像构成三元组样本图像。
S714,将目标图像和三元组样本图像构建为训练样本。将目标图像和三元组样本图像一起作为训练样本输入到待训练的图像识别模型中。
S716,对训练样本进行深度特征提取。在训练过程中,由图像识别模型对目标图像和三元组样本图像的深度特征进行提取,得到深度特征embedding。
S718,由分类层对embedding进行分析,以得到分类结果。
S720,根据损失值调整模型参数,得到已训练的图像识别模型。根据分类结果与图像标注类别进行比较,根据比较结果调整模型参数,以使得损失函数对应的损失值尽可能小,进而得到已训练的图像识别模型。其中,损失值可以为以下两个内容之和:1、对三元组进行度量学习得到的损失值,2、对目标图像进行分类分析得到的损失值。
在一个实施例中,如图7所示,进行深度特征提取得到embedding之后,服务器可以通过两个分支对embedding进行处理:一个是度量学习计算三元组样本图像的损失值,进而根据损失值调整模型参数(即S708);一个是输入分类层Fc_cr,由分类层对embedding进行分析以得到分类结果(即S716)。
在一个实施例中,通过已训练的场景识别模型对图像集合进行场景识别,将已训练的场景识别模型作为待进行图像类别混淆训练的待训练模型;基于目标正样本图像以及目标负样本图像对待训练的图像识别模型进行训练之后还包括:基于目标正样本图像以及目标负样本图像对已训练的场景识别模型进行图像类别混淆训练,直至混淆训练结果收敛,得到混淆训练后的场景识别模型;方法还包括:获取待识别场景的当前识别图像;将当前识别图像输入到混淆训练后的场景识别模型中进行场景识别,得到当前识别图像对应的当前图像场景。
已训练的场景识别模型可以是基于传统方法训练得到的场景识别模型,也可以是基于三元组样本图像得到的场景识别模型,还可以是基于多任务学习训练得到的场景识别模型。
在本实施例中,通过场景识别模型来对图像进行场景识别,以得到各个图像对应的目标类别。服务器基于目标类别进行混淆分类,得到混淆类别集合,从混淆类别集合中获取目标正样本图像以及目标负样本图像,并基于目标正样本图像以及目标负样本图像对图像识别模型进行训练。已训练的图像识别模型能够对输入的图像进行准确的分类,分类得到的不同类别也可以对应不同的场景,因此图像识别模型也能实现场景的准确识别。在完成图像识别模型的训练之后,还可以反过来对场景识别模型进行进一步的训练,以使得场景识别模型能够将混淆类别集合的信息整合到模型参数中,进而使得重新训练的场景识别模型能够准确区分出相互混淆的类别,进一步提高场景识别的准确性。
进一步的,将已训练的图像识别模型作为目标正样本图像以及目标负样本图像的标准类别,进而基于目标正样本图像以及目标负样本图像对已训练的场景识别模型进行重训练,能使得重新训练得到的场景识别模型能够基于目标正样本图像以及目标负样本图像构成样本对,并根据样本对将相似的样本图像标记为易混淆类别,使得重新训练得到的场景识别模型对目标正样本图像以及目标负样本图像这一相似场景下的图像进行更为准确的识别,提高场景识别模型对特定场景下的图像的针对性和准确性。
上述实施例中,场景识别模型能够对图像集合进行类别识别,得到类别识别数据,基于类别识别数据对图像集合所对应的类别集合进行混淆分类,得到混淆类别集合,进而基于混淆类别集合得到目标正负样本图像,通过目标正负样本图像对图像识别模型进行训练,并得到训练后的图像识别模型,在完成图像识别模型的训练后,可以进一步对场景识别模型进行训练,以使得场景识别模型能够更好地对容易混淆的场景进行识别。
在所提供的训练方法下,本申请实施例至少具有以下有益效果:1)可以提高混淆类别间的区分性,让类别内部的特征更聚合、类别之间的区分度更明显,2)通过网络预训练结果实现混淆属性分析,得到目标类别,相对于传统的方法不需要额外标注;3)在提升整体场景识别效果的情况下又不增加网络深度,可以在相同基础模型结构上取得更好的识别准确率;4)混淆类别、难样本均通过算法获得,实现自动化训练。
本申请还提供一种应用场景,该应用场景应用上述的图像识别方法。具体地,该图像识别方法在该应用场景的应用如下:
如图8所示,终端8002通过摄像头拍摄视频,将所拍摄的视频拆分为图像集合,将图像集合作为待分类图像传输给服务器8004。
其中,服务器8004中配置有已训练的图像识别模型。该图像识别模型的训练过程为:从混淆类别集合中获取三元组样本图像,将三元组样本图像和输入图像一起作为训练样本对待训练的图像识别模型进行训练,得到已训练的图像识别模型。
服务器8004对各个待分类图像进行图像识别,确定其所属的场景类别。在确定场景识别结果之后可以返回给终端8002,也可以传输给另一终端8006。
上述实施例,服务器在获取到待分类图像时,基于已训练的图像识别模型来对待分类图像进行场景识别,该已训练的图像识别模型能准确地将与待分类图像与类似场景区别开来,进而可以得到准确的场景识别结果。
本申请还提供一种应用场景,该应用场景应用上述的图像识别方法。具体地,该图像识别方法在该应用场景的应用如下:
图像识别方法应用于由下列模块构成的系统:模型预训练模块、混淆类别分析模块、基于混淆类别集合生成三元组样本图像的模块、多任务分类学习模块。也即,图像识别方法包括以下实现步骤:一、模型预训练,二、混淆类别分析,三、基于混淆类别集合生成三元组样本图像,四、多任务分类学习。以下结合这些步骤对图像识别方法进行详细说明:
一、模型预训练
1、模型构建
构建ResNet 101神经网络模型,作为场景识别模型。该模型的多层结构主要为多个模块的卷积、归一化、池化、跨层连接等深度学习操作对应的结构。
2、训练
采用基于SGD的梯度下降法求解神经网络模型的模型参数。在每次迭代过程中,计算预测结果误差并反向传播到神经网络模型中,计算梯度并更新神经网络模型的参数,当损失值满足条件时判定场景识别模型收敛,得到已训练的场景识别模型。
二、混淆类别分析
经过上述模型训练步骤之后得到能够对图像进行场景类别识别的已训练场景识别模型,根据已训练场景识别模型分析各个图像的场景,进而输出各个图像的类别。根据一定的聚类规则把所有类别聚合成相互间容易混淆的混淆类别,进而得到混淆类别集合,最终得到混淆类别集合1,混淆类别集合2,……,混淆类别集合m。其中,m的大小根据类别的数量以及类别的聚合情况确定。
将类别聚合为混淆类别集合可以至少采用以下两种方式实现:
1、基于深度特征embedding聚合得到混淆类别集合
1)获取场景识别模型对各个图像进行深度特征提取得到的embedding。计算每类别的中心,该中心用Center来表示。其中,Center为N*2048向量,N表示类别数量,每个类别中心都是一个1*2048的向量,即Center=Center[1],Center[2],…,Center[i],…,Center[N]。
以类别i为例说明Center[i]的确定过程(其他类别中心的确定过程类似,在此不再赘述):对其中每个样本(即,图像),得到该样本的深度特征embedding,embedding为向量维度为1*2048的特征向量,作为图像提取特征。对类别i所有的embedding求平均,得到平均向量。将平均向量作为类别i的类别中心Center[i]。
2)统计类别混淆矩阵S。类别混淆矩阵S为N*N矩阵,类别混淆矩阵S中的Sij全部初始化为0。类别混淆矩阵S中的Sij表示类别i与类别j的类别中心之间的类别混淆度。对类别混淆矩阵S中的类别混淆度进行更新的过程如下:
a、计算类别之间的类别混淆度并更新类别混淆矩阵S:
对每个类别i中的样本j:
计算样本j的embedding与其他N-1个类别的类别中心之间的特征相似度。该相似度可以为余弦相似度(cosine-similary),值越大表示样本与对应的类别越相似;找到相似度最大的中心,此中心代表的类别为与样本j最相似的类别,记该类别序号为z;判断相似类别z是否为样本j的类别i;若不是则将类别i与类别z的类别混淆度+1处理,即Siz=Siz+1,Szi=Szi+1。其中,Siz表示类别i与类别z的类别混淆度,Szi表示类别z与类别i的类别混淆度,两者计数应当相等,故每次更新需要同时更新这两个值。
对所有类别中的所有样本按照上述方法进行类别混淆度的计算,根据最终得到的各个类别之间的类别混淆度就可以得到最新的类别混淆矩阵S。
b、类别混淆矩阵归一化:
把类别混淆矩阵S的每个值Sij除以Num_i和Num_j中较小值,即Tij=Sij/min(Num_i,Num_j),其中,Num_i表示类别i的数量,Num_j表示类别j的数量。根据计算结果得到归一化后的类别混淆度,进而更新类别混淆矩阵S。
获取归一化后的类别混淆度Tij中共N*(N-1)/2个类别混淆度。由于Tij=Tji,故本步骤取i>j的部分,以减少运算量。将类别混淆度超过指定阈值(如0.8)的两个类别作为混淆类别,如T13为0.9,表示类别1、3易混淆;T34为0.85,表示类别3、4易混淆;T25为0.82,表示类别2、5易混淆;其他小于0.8的类别不容易混淆。将存在相同类别的混淆类别进行合并,以得到多个混淆类别集合,上述类别1、3易混淆,类别3、4易混淆,两个混淆对中均有类别3,故合并得到134混淆对,作为一个混淆类别集合。合并混淆后,类别134相互之间的样本为难例负样本,如类别1的样本均是类别4的难例负样本。经过上述处理,得到混淆类别集合1,由类别1、3和4组成;混淆类别集合2,由类别2和5组成。
2、基于分类结果聚合得到混淆类别集合
1)获取场景识别模型基于embedding进行分类得到的各个样本的分类结果,以得到各个样本对应的识别类别。
2)统计类别混淆矩阵S。类别混淆矩阵S为N*N矩阵,对类别混淆矩阵S中的类别混淆度进行更新的过程如下:
a、将各个样本的识别类别与对应样本的标注类别进行比对,如果两者不一致,则将识别类别和标注类别之间的类别混淆度进行+1处理。
b、类别混淆矩阵归一化:
把类别混淆矩阵S的每个值Sij除以Num_i和Num_j中较小值,根据计算结果得到归一化后的类别混淆度。获取归一化后的类别混淆度Tij中共N*(N-1)/2个类别混淆度,其中i>j。将类别混淆度超过指定阈值(如0.8)的两个类别作为混淆类别。将存在相同类别的混淆类别进行合并,以得到多个混淆类别集合。
三、基于混淆类别集合生成三元组样本图像
对每个混淆类别集合中的每个类别对应的每个样本(a):
a、随机选择同一场景类别的样本(p)作为正样本;
b、随机选择同一混淆类别集合的不同场景类别的样本(n)作为负样本;
c、组成一个三元组(a p n)
d、执行上述a-c共5次,对a样本产生5个三元组。
四、多任务分类学习
采用ResNet 101神经网络模型进行多任务学习,即ResNet 101神经网络模型的结构构建图像识别模型。
在原分类损失函数中加入三元组样本图像计算得到的triplet-loss度量,以基于这两部分的损失值来调整模型参数,进而得到已训练的图像识别模型。具体做法是:对每个样本,根据原分类损失函数计算分类loss(损失值),若该样本有三元组样本图像,则计算三元组loss,将分类loss和三元组loss之和作为总loss。在根据总loss确定ResNet 101神经网络模型收敛时,将该模型作为已训练的图像识别模型。
采用已训练的图像识别模型对输入图像进行分类识别,以实现对输入图像进行场景识别的目的。已训练的图像识别模型能够准确将输入图像与容易混淆的类别图像区分开来,进而可以得到准确的场景识别结果。
混淆类别间的特征集中在细微处,而常规的深度学习分类识别方法容易忽略这种细微差别造成无法区分,需要通过设计额外的辅助识别任务帮助有效区分混淆类别间的特征。
本申请实施例至少具有以下技术效果:
1)使用深度学习提升了混淆场景识别的效果,在不增加标注量的情况下,通过多任务学习框架即可得到性能更佳的模型。
2)由基础训练的模型生成类别识别结果,可以把相似类别聚合在一个超类中,通过超类类内相似、类外不相似的特点进行相似类别间的难样本挖掘。挖掘超类困难样本后进行度量学习,具体而言,对某样本,同类别样本为作为该样本的正样本,同一超类其他类别的样本作为该样本的负样本。以引入度量学习进行细微超别的混淆类别区分,从而把负样本从常规的全量类别选择,修正到从同超类的不同类别中选择,提高了负样本的有效性。基于这样的处理方式得到的正负样本来训练图像识别模型,能得到充分挖掘困难样本与正样本之间区分的图像识别模型,进而可以对图像进行准确识别。
3)通过易混淆类别分析并针对性进行度量学习,避免了无效的度量学习并提升了学习效率。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于与上述实施例中的图像识别方法相同的思想,本申请还提供图像识别装置,该装置可用于执行上述图像识别方法。为了便于说明,图像识别装置实施例的结构示意图中,仅仅示出了与本申请实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在一个实施例中,如图9所示,提供了一种图像识别装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:正样本图像获取模块902、混淆类别集合获取模块904、负样本图像获取模块906和模型训练模块908,其中:
正样本图像获取模块902,用于获取目标正样本图像。
混淆类别集合获取模块904,用于根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对图像集合所对应的类别集合进行混淆分类得到的。
负样本图像获取模块906,用于将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像。
模型训练模块908,用于基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
上述图像识别装置中,模型训练过程能充分分析同一混淆类别集合中的正样本图像和负样本图像之间的区别,进而提高训练得到的模型对相似类别下的不同图像的识别能力,因此能够得到对类别易混淆的图像进行准确识别的图像识别模型,提高了图像识别的准确性。
在一个实施例中,混淆类别集合获取模块,包括:图像集合获取子模块,用于获取目标图像集合;所述目标图像集合包括至少两个目标图像,各个所述目标图像对应的目标类别形成类别集合;识别数据确定子模块,用于对所述目标图像集合中的各个目标图像进行图像识别,得到各个所述目标图像对应的类别识别数据;混淆度确定子模块,用于基于所述类别识别数据确定所述目标类别之间的类别混淆度;混淆类别集合确定子模块,用于基于所述类别混淆度对所述类别集合中的目标类别进行混淆分类,得到混淆类别集合。
上述实施例,通过对目标图像集合中的目标图像进行图像识别得到类别识别数据,根据类别识别数据得到目标类别之间的类别混淆度,进而基于类别混淆度对目标类别进行混淆分类,以将容易混淆的目标类别分到一个混淆类别集合中,使得混淆类别集合内是相似的类别,而混淆类别集合间是不相似的类别。基于此,同一混淆类别集合中对应的正负样本图像之间具有较高的相似度,负样本图像可以作为正样本图像的难样本,进而可以训练得到可靠的图像识别模型。
在一个实施例中,所述类别识别数据包括对所述目标图像进行特征提取得到的图像提取特征;混淆度确定子模块,包括:相似度确定单元,用于基于所述图像提取特征得到所述目标类别之间的特征相似度;混淆度确定单元,用于基于所述目标类别之间的特征相似度确定所述目标类别之间的类别混淆度。
上述实施例,通过图像提取特征来计算目标类别之间的特征相似度,进而确定目标类别之间的类别混淆度,所确定的类别混淆度充分整合了图像提取特征,具有较高的准确性。
在一个实施例中,相似度确定单元包括:类别特征确定子单元,用于对不同所述目标类别对应的图像提取特征进行统计,得到各个所述目标类别分别对应的类别表示特征;相似度确定子单元,用于基于所述目标类别分别对应的类别表示特征得到目标类别之间的特征相似度。
上述实施例,基于图像提取特征来计算目标类别之间的特征相似度,图像提取特征往往可以表示为向量的形式,而对向量进行运算的运算量是较小的,因此能够有效提高特征相似度的计算效率,进而提高模型训练的效率。
在一个实施例中,相似度确定子单元包括:图像特征获取块,用于获取当前目标图像对应的当前图像提取特征,所述当前目标图像属于第一目标类别;相似度确定块,用于计算所述当前图像提取特征与各个第二目标类别对应的类别表示特征的特征相似度,将计算得到的特征相似度作为所述第一目标类别与所述第二目标类别之间的特征相似度。
上述实施例,基于目标图像的图像提取特征与特定的目标类别的类别表示特征进行特征相似度计算,通过简单的向量计算就可以得到目标类别之间的特征相似度,能够有效提高特征相似度的计算效率,进而提高模型训练的效率。
在一个实施例中,混淆度确定单元,还用于当所述第一目标类别与所述第二目标类别之间的特征相似度满足相似度条件时,增加所述第一目标类别与所述第二目标类别之间的类别混淆度;其中,所述相似度条件包括:特征相似度的排序在第一排序阈值之前或者特征相似度大于相似度阈值的至少一种。
上述实施例,基于目标图像的图像提取特征得到目标类别的特征相似度,根据目标类别之间的特征相似度来确定类别混淆度,通过简单的运算就可以得到准确可靠的类别混淆度。
在一个实施例中,所述类别识别数据包括对所述目标图像进行分类得到的第三目标类别;混淆度确定子模块,包括:类别比对单元,用于将所述第三目标类别与所述目标图像对应的标准类别进行对比;所述标准类别为第四目标类别;混淆度增加单元,用于当所述第三目标类别与所述目标图像对应的标准类别对比不一致时,增加所述第三目标类别与所述第四目标类别之间的类别混淆度。
上述实施例,当对目标图像进行分类得到的分类结果与标准类别不一致时,判定分类结果对应的类别与标准类别是容易相互混淆的类别,进而对这两者之间的类别混淆度进行增加处理。类别混淆度的确定过程简单,能有效保证类别混淆度的确定效率。
在一个实施例中,混淆类别集合确定子模块,还用于将所述类别集合中类别混淆度满足混淆度条件的目标类别作为相互混淆的类别,将相互混淆的类别组成混淆类别集合;其中,所述混淆度条件包括:类别混淆度的排序在第二排序阈值之前或者类别混淆度大于混淆度阈值的至少一个。
上述实施例,基于目标图像的图像提取特征得到目标类别的特征相似度,根据目标类别之间的特征相似度来确定类别混淆度,通过简单的运算就可以得到准确可靠的类别混淆度。
在一个实施例中,模型训练模块包括:正样本特征提取子模块,用于将所述目标正样本图像输入到待训练的图像识别模型中进行特征提取,得到所述目标正样本图像对应的目标正样本特征;负样本特征提取子模块,用于将所述目标负样本图像输入到待训练的图像识别模型中进行特征提取,得到所述目标负样本图像对应的目标负样本特征;特征距离确定子模块,用于确定所述目标正样本特征以及所述目标负样本特征之间的第一样本特征距离;损失值确定子模块,用于基于所述第一样本特征距离确定目标模型损失值,其中所述目标模型损失值与所述第一样本特征距离成负相关关系;模型参数调整子模块,用于基于所述目标模型损失值调整待训练的图像识别模型的模型参数,得到训练后的图像识别模型。
上述实施例,将正负样本图像输入到图像识别模型中,图像识别模型进行特征提取,得到对应的样本特征,基于正负样本图像之间的样本特征距离来确定模型损失值,该模型损失值与样本特征距离成负相关关系,在进行模型训练的过程中,通过调整模型参数可以得到不同的模型损失值,当模型损失值尽可能小时,判定图像识别模型训练结束,此时可以得到训练后的图像识别模型。该训练后的图像识别模型能够通过已调整的模型参数尽可能扩大正样本特征与负样本特征之间的距离,进而使得图像识别模型在进行图像分类的过程中不会将正确的类别识别为负样本特征对应的类别,得到准确的图像识别结果。
在一个实施例中,所述装置还包括:参考正样本选取模块,用于选取所述正样本类别对应的图像,作为参考正样本图像;损失值确定子模块包括:特征提取单元,用于将所述参考正样本图像输入到待训练的图像识别模型中进行特征提取,得到所述参考正样本图像对应的参考正样本特征;特征距离确定单元,用于确定所述目标正样本特征以及所述参考正样本特征之间的第二样本特征距离;第一损失值确定单元,用于基于所述第一样本特征距离确定第一模型损失值,其中所述第一模型损失值与所述第一样本特征距离成负相关关系;第二损失值确定单元,用于基于所述第二样本特征距离确定第二模型损失值,其中所述第二模型损失值与所述第二样本特征距离成正相关关系;目标损失值确定单元,用于根据所述第一模型损失值以及所述第二模型损失值得到目标模型损失值。
上述实施例,基于目标正样本特征与参考正样本特征之间的样本特征距离以及目标正样本特征与目标负样本特征之间的样本特征距离,来确定模型损失值,进而得到训练后的图像识别模型。该训练后的图像识别模型能够通过已调整的模型参数尽可能扩大目标正样本特征与目标负样本特征之间的样本特征距离,减小参考正样本特征与目标正样本特征之间的样本特征距离,进而使得图像识别模型在进行图像分类的过程中不会将正确的类别识别为负样本特征对应的类别,得到准确的图像识别结果。
在一个实施例中,通过已训练的场景识别模型对所述图像集合进行场景识别,将所述已训练的场景识别模型作为待进行图像类别混淆训练的待训练模型;模型训练模块,还用于基于所述目标正样本图像以及所述目标负样本图像对所述已训练的场景识别模型进行图像类别混淆训练,直至混淆训练结果收敛,得到混淆训练后的场景识别模型;所述装置还包括:识别图像获取模块,用于获取待识别场景的当前识别图像;场景识别模块,用于将所述当前识别图像输入到所述混淆训练后的场景识别模型中进行场景识别,得到所述当前识别图像对应的当前图像场景。
上述实施例,在完成图像识别模型的训练后,可以进一步对场景识别模型进行训练,以使得场景识别模型能够更好地对容易混淆的场景进行识别。
关于图像识别装置的具体限定可以参见上文中对于图像识别方法的限定,在此不再赘述。上述图像识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储类别识别数据、混淆类别集合、图像识别模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像识别方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种图像识别方法,其特征在于,所述方法包括:
获取目标正样本图像;
根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对所述图像集合所对应的类别集合进行混淆分类得到的;
将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像;
基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
2.根据权利要求1所述的方法,其特征在于,得到所述混淆类别集合的步骤包括:
获取目标图像集合;所述目标图像集合包括至少两个目标图像,各个所述目标图像对应的目标类别形成类别集合;
对所述目标图像集合中的各个目标图像进行图像识别,得到各个所述目标图像对应的类别识别数据;
基于所述类别识别数据确定所述目标类别之间的类别混淆度;
基于所述类别混淆度对所述类别集合中的目标类别进行混淆分类,得到混淆类别集合。
3.根据权利要求2所述的方法,其特征在于,所述类别识别数据包括对所述目标图像进行特征提取得到的图像提取特征;所述基于所述类别识别数据确定所述目标类别之间的类别混淆度,包括:
基于所述图像提取特征得到所述目标类别之间的特征相似度;
基于所述目标类别之间的特征相似度确定所述目标类别之间的类别混淆度。
4.根据权利要求3所述的方法,其特征在于,所述基于所述图像提取特征得到所述目标类别之间的特征相似度包括:
对不同所述目标类别对应的图像提取特征进行统计,得到各个所述目标类别分别对应的类别表示特征;
基于所述目标类别分别对应的类别表示特征得到目标类别之间的特征相似度。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标类别分别对应的类别表示特征得到目标类别之间的特征相似度包括:
获取当前目标图像对应的当前图像提取特征,所述当前目标图像属于第一目标类别;
计算所述当前图像提取特征与各个第二目标类别对应的类别表示特征的特征相似度,将计算得到的特征相似度作为所述第一目标类别与所述第二目标类别之间的特征相似度。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标类别之间的特征相似度确定所述目标类别之间的类别混淆度包括:
当所述第一目标类别与所述第二目标类别之间的特征相似度满足相似度条件时,增加所述第一目标类别与所述第二目标类别之间的类别混淆度;
其中,所述相似度条件包括:特征相似度的排序在第一排序阈值之前或者特征相似度大于相似度阈值的至少一种。
7.根据权利要求2所述的方法,其特征在于,所述类别识别数据包括对所述目标图像进行分类得到的第三目标类别;所述基于所述类别识别数据确定所述目标类别之间的类别混淆度,包括:
将所述第三目标类别与所述目标图像对应的标准类别进行对比;所述标准类别为第四目标类别;
当所述第三目标类别与所述目标图像对应的标准类别对比不一致时,增加所述第三目标类别与所述第四目标类别之间的类别混淆度。
8.根据权利要求2所述的方法,其特征在于,所述基于所述类别混淆度对所述类别集合中的目标类别进行混淆分类,得到混淆类别集合,包括:
将所述类别集合中类别混淆度满足混淆度条件的目标类别作为相互混淆的类别,将相互混淆的类别组成混淆类别集合;
其中,所述混淆度条件包括:类别混淆度的排序在第二排序阈值之前或者类别混淆度大于混淆度阈值的至少一个。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型包括:
将所述目标正样本图像输入到待训练的图像识别模型中进行特征提取,得到所述目标正样本图像对应的目标正样本特征;
将所述目标负样本图像输入到待训练的图像识别模型中进行特征提取,得到所述目标负样本图像对应的目标负样本特征;
确定所述目标正样本特征以及所述目标负样本特征之间的第一样本特征距离;
基于所述第一样本特征距离确定目标模型损失值,其中所述目标模型损失值与所述第一样本特征距离成负相关关系;
基于所述目标模型损失值调整待训练的图像识别模型的模型参数,得到训练后的图像识别模型。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
选取所述正样本类别对应的图像,作为参考正样本图像;
所述基于所述第一样本特征距离确定目标模型损失值包括:
将所述参考正样本图像输入到待训练的图像识别模型中进行特征提取,得到所述参考正样本图像对应的参考正样本特征;
确定所述目标正样本特征以及所述参考正样本特征之间的第二样本特征距离;
基于所述第一样本特征距离确定第一模型损失值,其中所述第一模型损失值与所述第一样本特征距离成负相关关系;
基于所述第二样本特征距离确定第二模型损失值,其中所述第二模型损失值与所述第二样本特征距离成正相关关系;
根据所述第一模型损失值以及所述第二模型损失值得到目标模型损失值。
11.根据权利要求1至8任一项所述的方法,其特征在于,通过已训练的场景识别模型对所述图像集合进行场景识别,将所述已训练的场景识别模型作为待进行图像类别混淆训练的待训练模型;
所述基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练之后还包括:
基于所述目标正样本图像以及所述目标负样本图像对所述已训练的场景识别模型进行图像类别混淆训练,直至混淆训练结果收敛,得到混淆训练后的场景识别模型;
所述方法还包括:
获取待识别场景的当前识别图像;
将所述当前识别图像输入到所述混淆训练后的场景识别模型中进行场景识别,得到所述当前识别图像对应的当前图像场景。
12.一种图像识别装置,其特征在于,所述装置包括:
正样本图像获取模块,用于获取目标正样本图像;
混淆类别集合获取模块,用于根据所述目标正样本图像对应的正样本类别,获取所述正样本类别对应的混淆类别集合;其中所述混淆类别集合是通过对图像集合进行类别识别,基于类别识别数据对所述图像集合所对应的类别集合进行混淆分类得到的;
负样本图像获取模块,用于将所述混淆类别集合中的混淆类别作为负样本类别,将所述负样本类别对应的图像作为所述目标正样本图像对应的目标负样本图像;
模型训练模块,用于基于所述目标正样本图像以及所述目标负样本图像对待训练的图像识别模型进行训练,得到训练后的图像识别模型,以基于所述训练后的图像识别模型进行图像识别。
13.根据权利要求12所述的装置,其特征在于,所述混淆类别集合获取模块,包括:
图像集合获取子模块,用于获取目标图像集合;所述目标图像集合包括至少两个目标图像,各个所述目标图像对应的目标类别形成类别集合;
识别数据确定子模块,用于对所述目标图像集合中的各个目标图像进行图像识别,得到各个所述目标图像对应的类别识别数据;
混淆度确定子模块,用于基于所述类别识别数据确定所述目标类别之间的类别混淆度;
混淆类别集合确定子模块,用于基于所述类别混淆度对所述类别集合中的目标类别进行混淆分类,得到混淆类别集合。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240341.6A CN113705596A (zh) | 2021-03-04 | 2021-03-04 | 图像识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240341.6A CN113705596A (zh) | 2021-03-04 | 2021-03-04 | 图像识别方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113705596A true CN113705596A (zh) | 2021-11-26 |
Family
ID=78647783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110240341.6A Pending CN113705596A (zh) | 2021-03-04 | 2021-03-04 | 图像识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113705596A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114842308A (zh) * | 2022-03-16 | 2022-08-02 | 电子科技大学 | 一种基于全特征融合建立目标预判优化模型的方法 |
CN116051558A (zh) * | 2023-03-31 | 2023-05-02 | 菲特(天津)检测技术有限公司 | 一种缺陷图像标注方法、装置、设备及介质 |
CN116310656A (zh) * | 2023-05-11 | 2023-06-23 | 福瑞泰克智能系统有限公司 | 训练样本确定方法、装置和计算机设备 |
WO2023124278A1 (zh) * | 2021-12-29 | 2023-07-06 | 京东方科技集团股份有限公司 | 图像处理模型的训练方法、图像分类方法及装置 |
-
2021
- 2021-03-04 CN CN202110240341.6A patent/CN113705596A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023124278A1 (zh) * | 2021-12-29 | 2023-07-06 | 京东方科技集团股份有限公司 | 图像处理模型的训练方法、图像分类方法及装置 |
CN114842308A (zh) * | 2022-03-16 | 2022-08-02 | 电子科技大学 | 一种基于全特征融合建立目标预判优化模型的方法 |
CN114842308B (zh) * | 2022-03-16 | 2023-07-14 | 电子科技大学 | 一种基于全特征融合建立目标预判优化模型的方法 |
CN116051558A (zh) * | 2023-03-31 | 2023-05-02 | 菲特(天津)检测技术有限公司 | 一种缺陷图像标注方法、装置、设备及介质 |
CN116310656A (zh) * | 2023-05-11 | 2023-06-23 | 福瑞泰克智能系统有限公司 | 训练样本确定方法、装置和计算机设备 |
CN116310656B (zh) * | 2023-05-11 | 2023-08-15 | 福瑞泰克智能系统有限公司 | 训练样本确定方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523621A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN110163258B (zh) | 一种基于语义属性注意力重分配机制的零样本学习方法及系统 | |
CN110555481B (zh) | 一种人像风格识别方法、装置和计算机可读存储介质 | |
WO2019100724A1 (zh) | 训练多标签分类模型的方法和装置 | |
CN110209859B (zh) | 地点识别及其模型训练的方法和装置以及电子设备 | |
CN110309856A (zh) | 图像分类方法、神经网络的训练方法及装置 | |
CN113705596A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN111476806B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN110765882B (zh) | 一种视频标签确定方法、装置、服务器及存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN111242948B (zh) | 图像处理、模型训练方法、装置、设备和存储介质 | |
CN111553419B (zh) | 一种图像识别方法、装置、设备以及可读存储介质 | |
CN114358188A (zh) | 特征提取模型处理、样本检索方法、装置和计算机设备 | |
CN111368672A (zh) | 一种用于遗传病面部识别模型的构建方法及装置 | |
CN113033507B (zh) | 场景识别方法、装置、计算机设备和存储介质 | |
CN112016601B (zh) | 基于知识图谱增强小样本视觉分类的网络模型构建方法 | |
CN114298122B (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN111310821A (zh) | 多视图特征融合方法、系统、计算机设备及存储介质 | |
CN114282059A (zh) | 视频检索的方法、装置、设备及存储介质 | |
CN109033321A (zh) | 一种图像与自然语言特征提取及基于关键词的语言指示图像分割方法 | |
CN111291785A (zh) | 目标检测的方法、装置、设备及存储介质 | |
CN111309923A (zh) | 对象向量确定、模型训练方法、装置、设备和存储介质 | |
CN117011577A (zh) | 图像分类方法、装置、计算机设备和存储介质 | |
CN114936327A (zh) | 元素识别模型的获取方法、装置、计算机设备和存储介质 | |
CN113822291A (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 |