[go: up one dir, main page]

CN117036841A - 特征提取模型的训练方法、对象识别方法、装置及设备 - Google Patents

特征提取模型的训练方法、对象识别方法、装置及设备 Download PDF

Info

Publication number
CN117036841A
CN117036841A CN202210556988.4A CN202210556988A CN117036841A CN 117036841 A CN117036841 A CN 117036841A CN 202210556988 A CN202210556988 A CN 202210556988A CN 117036841 A CN117036841 A CN 117036841A
Authority
CN
China
Prior art keywords
image
feature vector
training
sample
module
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.)
Granted
Application number
CN202210556988.4A
Other languages
English (en)
Other versions
CN117036841B (zh
Inventor
许剑清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210556988.4A priority Critical patent/CN117036841B/zh
Publication of CN117036841A publication Critical patent/CN117036841A/zh
Application granted granted Critical
Publication of CN117036841B publication Critical patent/CN117036841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例提供了一种特征提取模型的训练方法、对象识别方法、装置及设备,涉及人工智能、大数据、多媒体及云技术领域。该训练方法包括:获取第一训练集和n个待训练的包括第一初始特征提取模块的第一神经网络模型,第一神经网络模型包括第一初始特征提取模块;采用第一训练集,分别对每个第一初始特征提取模块进行训练,得到n个第一对象特征提取模块;获取第二训练集和待训练的包括第二初始特征提取模块的第二神经网络模型,基于训练好的n个第一神经网络模型和第二训练集对第二神经网络模型进行训练,得到训练好的对象特征提取模型。基于本申请实施例提供的方法,能够有效提升训练得到的对象特征提取模型的性能。

Description

特征提取模型的训练方法、对象识别方法、装置及设备
技术领域
本申请涉及人工智能、云技术以及图像识别技术领域,具体而言,本申请涉及一种特征提取模型的训练方法、对象识别方法、相对应的装置及电子设备。
背景技术
随着人工智能技术研究和进步,人工智能技术已经在多个领域展开研究和应用。机器学习是人工智能的核心,是使计算机具有智能的根本途径,通过机器学习可以训练得到满足应用需求的神经网络模型。
目标识别模型是目前很多领域中都需要应用到的神经网络模型,该模型可以对图像中包含的对象进行识别,其原理是通过模型中的对象特征提取模块对待识别图像进行特征提取,基于提取出图像中包含的对象的特征(也就是表征对象的特征向量)来预测对象的识别结果。
目标识别模型的性能优劣,其包含的对象特征提取模块所提取出的对象的特征的表达能力起到重要作用。目前的相关技术中,对于目标识别模型的对象特征提取模块的训练,已经存在多种多样的训练方式,虽然大部分训练方式训练出的目标识别模型能够满足一般的需求,但是识别结果的准确性仍有提升,尤其是对于图像质量不够好的图像。
发明内容
本申请实施例的目的旨在提供一种能够有效提升对象特征提取模型的性能的特征提取模型的训练方法、以及相对应的对象识别方法、相对应的装置及电子设备。为了实现上述目的,本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种特征提取模型的训练方法,该方法包括:
获取第一训练集和n个待训练的第一神经网络模型,n≥2,所述第一训练集包括多个带有标签的第一样本图像,所述标签表征了第一样本图像中包含的样本对象的真实识别结果,所述第一神经网络模型包括第一初始特征提取模块;
采用所述第一训练集,分别对每个第一初始特征提取模块进行训练,得到训练好的n个第一对象特征提取模块;
获取第二训练集和待训练的第二神经网络模型,所述第二训练集包括多个包含样本对象的第二样本图像,所述第二神经网络模型包括第二初始特征提取模块;
对所述第二神经网络模型重复执行第一训练操作,直至满足第一训练结束条件,得到训练好的对象特征提取模型,所述第一训练操作包括:
对于每个所述第二样本图像,将该图像输入到所述n个第一对象特征提取模块中,得到该图像的n个第一对象特征向量,将该图像输入到所述第二初始特征提取模块中,得到该图像的第二对象特征向量,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失;基于各所述第二样本图像对应的第一训练损失,确定所述第二神经网络模型对应的第一训练总损失,若不满足所述第一训练结束条件,则基于所述第一训练总损失对所述第二神经网络模型的模型参数进行调整。
另一方面,本申请实施例提供了一种对象识别方法,该方法包括:
获取待识别图像,所述待识别图像中包括待识别对象;
通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量;
基于所述待识别对象的对象特征向量,确定所述待识别对象的识别结果;
其中,所述对象特征提取模型是采用本申请任一可选实施例中提供的任训练方法训练得到的。
另一方面,本申请实施例提供了一种对象特征提取模型的训练装置,该装置包括:
训练数据获取模块,用于获取第一训练集和n个待训练的第一神经网络模型,n≥2,所述第一训练集包括多个带有标签的第一样本图像,所述标签表征了第一样本图像中包含的样本对象的真实识别结果,所述第一神经网络模型包括第一初始特征提取模块;以及用于获取第二训练集和待训练的第二神经网络模型,所述第二训练集包括多个包含样本对象的第二样本图像,所述第二神经网络模型包括第二初始特征提取模块;
第一模型训练模块,用于采用所述第一训练集,分别对每个第一初始特征提取模块进行训练,得到训练好的n个第一对象特征提取模块;
第二模型训练模块,用于对所述第二神经网络模型重复执行第一训练操作,直至满足第一训练结束条件,得到训练好的对象特征提取模型,所述第一训练操作包括:
对于每个所述第二样本图像,将该图像输入到所述n个第一对象特征提取模块中,得到该图像的n个第一对象特征向量,将该图像输入到所述第二初始特征提取模块中,得到该图像的第二对象特征向量,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失;基于各所述第二样本图像对应的第一训练损失,确定所述第二神经网络模型对应的第一训练总损失,若不满足所述第一训练结束条件,则基于所述第一训练总损失对所述第二神经网络模型的模型参数进行调整。
可选的,对于每个第二样本图像,第二模型训练模块在确定该图像对应的第一训练损失时可以用于:
将该图像对应的n个第一对象特征向量进行融合,得到第一融合特征向量;基于该图像对应的第一融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
可选的,对于每个所述第二样本图像,该图像对应的n个第一对象特征向量是通过以下方式得到的:
对于每个所述第一对象特征提取模块,通过该模块对该图像进行特征提取,得到第一特征图,并对该第一特征图进行特征映射,得到该图像对应于该模块的第一对象特征向量;
对于每个所述第二样本图像,第二模型训练模块可以用于:
对于该图像的每个第一对象特征向量,基于该特征向量对应的第一特征图,确定该特征向量的第一置信度;对于该图像对应的每个第一对象特征向量,采用该特征向量的第一置信度对该特征向量进行加权,得到加权后的第一对象特征向量;对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量;根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
可选的,每个所述第一神经网络模型还包括与第一初始特征提取模块对应的待训练的第一不确定度估计模块,在得到训练好的n个第一对象特征提取模块之后,第一模型训练模块还可以用于执行以下操作:
获取第三训练集,所述第三训练集包括多个样本子集、以及每个样本子集的类别特征向量,每个所述样本子集包括一个样本对象的至少一个第三样本图像,所述类别特征向量表征了相应的样本子集所对应的样本对象的真实特征向量;
对于每个待训练的第一不确定度估计模块,基于所述第三训练集对该不确定估计模块重复执行第二训练操作,直至满足第二训练结束条件,得到训练好的第一不确定度估计模块,所述第二训练操作包括:
对于每个所述第三样本图像,通过该不确定估计模块对应的第一对象特征提取模块对该图像进行特征提取,得到该图像的第三特征图,并基于该特征图得到该图像的第三对象特征向量,将该第三特征图输入到该不确定度估计模块中,得到该第三对象特征向量的第三置信度,基于该图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失;基于各所述第三样本图像对应的第二训练损失,确定该不确定度估计模型对应的第二训练总损失,若不满足所述第二训练结束条件,则基于所述第二训练总损失对该不确定度估计模块的模型参数进行调整;其中,每个所述第一对象特征向量的第一置信度是通过相对应的训练好的第一不确定估计模块得到的。
可选的,对于每个所述第二样本图像,该图像的第二对象特征向量是通过以下方式得到的:
通过所述第二初始特征提取模块对该图像进行特征提取,得到第二特征图,并对该第二特征图进行特征映射,得到该图像的第二对象特征向量;
所述第二神经网络模型还包括待训练的第二不确定度估计模块,对于每个所述第二样本图像,所述第一训练操作还包括:
将该图像对应的第二特征图输入到所述待训练的第二不确定度估计模块中,得到该图像的第二对象特征向量对应的第二置信度;
对于每个所述第二样本图像,第二模型训练模块在确定该图像对应的第一训练损失时,可以用于:
确定该图像对应的第二融合特征向量的融合置信度;根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异、以及该图像对应的融合置信度和第二置信度之间的差异,确定该图像对应的第一训练损失。
可选的,对于每个所述第二样本图像,第二模型训练模块可以通过以下任一项确定该图像对应的第二融合特征向量的融合置信度:
基于该图像对应的第二融合特征向量,确定该第二融合特征向量的融合置信度;
将该图像对应的n个第一置信度进行融合,确定该图像的第二融合特征向量的融合置信度。
可选的,对于每个第二样本图像,第二模型训练模块在对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量时,可以通过以下表达式得到该第二融合特征向量:
其中,表示第二融合特征向量,n表示第一神经网络模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
可选的,每个所述第二样本图像对应的融合置信度是通过以下表达式确定的:
其中,表示融合置信度,n表示第一神经网络模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,||||2为L2范数计算符号。
可选的,每个所述第二样本图像对应的第一训练损失是通过以下表达式确定的:
其中,表示该图像对应的第二融合特征向量,表示的融合置信度,μφ(x)表示该图像的第二对象特征向量,表示μφ(x)的第二置信度。
可选的,对于每个所述样本子集,该样本子集的类别特征向量包括该样本子集对应于每个第一神经网络模型的类别特征向量;
对于每个第一不确定度估计模块,第一模型训练模块在基于每个第二样本图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失时,可以用于:
基于该图像的第三对象特征向量、第三置信度、以及该图像对应于该不确定度估计模块所属的第一神经网络模型的类别特征向量,确定该图像对应的第二训练损失;
其中,每个样本子集的类别特征向量可以是通过以下任一方式获取到的:
对于每个所述第一神经网络模型,将该样本子集中的每个第三样本图像输入到该模型的第一对象特征提取模块中,得到每个第三样本图像的对象特征向量;对该样本子集中各个第三样本图像的对象特征向量进行融合,得到该样本子集对应于该第一神经网络模型的类别特征向量;
对于每个所述第一神经网络模型,将该模型的第一对象特征提取模块的模型参数中该样本子集的类别对应的模型参数,作为该样本子集对应于该第一神经网络模型的类别特征向量,其中,每个所述样本子集对应一个类别。
另一方面,本申请实施例提供了一种对象识别装置,该装置包括:
待处理图像获取模块,用于获取待识别图像,所述待识别图像中包括待识别对象;
图像识别模块,用于通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量,基于所述待识别对象的对象特征向量,确定所述待识别对象的识别结果;
其中,所述对象特征提取模型是采用本申请任一可选实施例中提供的任训练方法训练得到的。
可选的,图像识别模块可以用于:
通过所述对象特征提取模块对所述待识别图像进行特征提取,得到所述待识别图像的特征图,并基于所述特征图,得到所述待识别对象的对象特征向量和该对象特征向量的置信度;基于所述待识别对象的对象特征向量和该对象特征向量的置信度,确定所述待识别对象的识别结果。
可选的,待处理图像获取模块还可以用于:
获取待比对图像,所述待比对图像中包括待比对对象;通过所述对象特征提取模型,得到所述待比对对象的对象特征向量和该对象特征向量的置信度;
图像识别模块可以用于:基于所述待比对对象的对象特征向量和该对象特征向量的置信度、以及所述待识别对象的对象特征向量和该对象特征向量的置信度,确定所述待识别对象和所述待识别对象是否为同一对象。
再一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序以实现本申请任一可选实施例提供的方法。
本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一可选实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,该计算机产品包括计算机程序,所述计算机程序被处理器执行时实现本申请任一可选实施例提供的方法。
本申请实施例提供的技术方案带来的有益效果如下:
本申请实施例提供的训练方法,可以先基于带有标签的第一训练集训练得到多个第一对象特征提取模块,在此基础上,可以将多个第一对象特征提取模块作为指导模型,基于第二训练集对待训练的第二神经网络模型进行指导训练,已得到高性能的对象特征提取模型。由于多个第一对象特征提取模块是已经基于训练集训练好的,在采用多个第一对象特征提取模块作为指导模型对第二神经网络模型进行指导训练时,可以使得最终训练好的特征提取模型可以融合搭配多个第一对象特征提取模块的模型能力,从而可以有效提高最终得到的对象特征提取模型的性能,能够更好的满足实际应用需求,在将该训练好的对象特征提取模型用于图像特征提取时,可以有效提高提取出的特征的表达能力,从而在基于提取出的特征进行对象识别时,可以有效提高识别结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种特征提取模型的训练方法的流程示意图;
图2为本申请实施例提供的第二神经网络模型的训练方法的流程示意图;
图3为本申请实施例提供的一种对象识别方法的流程示意图;
图4为本申请实施例提供的一种对象识别系统的结构示意图;
图5为本申请实施例中提供一种神经网络模型的训练及部署的实施原理图;
图6为本申请实施例中提供的基于图4所示的系统的对象识别方法的实施流程示意图;
图7a和图7b为本申请实施例中提供的一种第一神经网络模型的训练方法的原理示意图;
图8为本申请实施例中提供的一种对多个特征进行集成的示意图;
图9为本申请实施例中提供的一种第二神经网络模型的训练原理示意图;
图10为本申请实施例中提供的一种对象识别模型的部署应用阶段的实施原理示意图;
图11为本申请实施例中提供的一种训练装置的结构示意图;
图12为本申请实施例中提供的一种对象识别装置的结构示意图;
图13为本申请实施例所适用的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
在人工智能领域,为了得到满足应用需求的神经网络模型,需要对模型进行训练。目标识别模型(对象识别模型)是目前很多领域中都需要应用到的神经网络模型,该模型可以对图像中包含的对象(如人、动物或者人的特定部位,如人脸)进行识别,其原理是通过模型中的对象特征提取模块对待识别图像进行特征提取,提取出图像中包含的对象的特征(也就是表征对象的特征向量),再基于提取出的对象的特征来预测得到对象的识别结果。例如,可以将待识别对象的特征和参考对象的特征进行相似度计算,根据计算结果判别待识别对象和参考对象是否为同一对象。而目标识别模型的性能优劣,很大程度上取决于对象识别模型中的对象特征提取模块的性能,对象特征提取模块提取出的对象的特征的表达能力越好,识别结果越准确。
目前的相关技术中,对于目标识别模型,已经存在多种多样的训练方式,大部分训练方式训练出的目标识别模型普遍存在对质量比较好(如正脸、高清等)的对象图像(如人脸图像)提取的特征具有较好的表达能力,但是对于那些存在着模糊或者各种不同噪声(如:遮挡、大姿态等)的图像,目前训练方式训练得到的模型所提取出的特征的表达能力仍有待提升,识别效果不够准确。而在实际应用过程中,会存在一些输入到模型中的人图像中存在模糊或者各种不可控制的噪声的情况,这样就导致了模型的识别准确性降低。
本申请正是为了提升模型的识别准确性,而提供了一种对象特征提取模型的训练方法,采用本申请实施例提供的训练方法训练得到的特征提取模型的性能相比于现有技术训练出的模型的性能有了明显的提高,将采用本申请实施例提供的训练方法训练得到的特征提取模型作为目标识别模型的特征提取模型进行图像识别,能够有效提升识别的准确性。
本申请实施例提供的方案,涉及人工智能(Artificial Intelligence,AI)技术,具体涉及到神经网络模型的训练以及神经网络模型的应用。比如,可以基于本申请实施例提供的训练方法,采用机器学习(Machine Learning,ML)方式对初始的神经网络模型进行训练,可以训练得到性能更优的特征提取模型。在训练得到满足应用需求的特征提取模型之后,还可以基于该模型进行待识别图像进行特征提取,基于提取得到的对象的特征向量,得到该对象的识别结果。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。随着人工智能技术的研究和进步,人工智能技术已经在常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等多个领域展开研究和应用,相信随着技术的发展,该技术将在更多的领域得到应用,并发挥越来越重要的价值。
可选的,本申请实施例提供的方法中所涉及的数据处理可以基于云技术实现。例如,可以基于云技术实现本申请提供的训练方法,训练过程中所涉及的各种数据计算可以采用云计算(cloud computing)。可选的,训练过程中所使用的各个训练集的存储还可以采用云存储(cloud storage)的方式存储。
本申请实施例提供的对象特征提取模型的训练方法或对象识别方法可以由任意的电子设备执行,如可以由终端设备或服务器执行。例如,可以将训练好的对象特征提取模型作为目标识别模型的特征提取模块,部署到服务器中,使用者可以通过终端设备采集待识别对象的图像,并将该图像发送给服务器,服务器可以通过调用目标识别模型对该图像进行特征提取,并基于提取出的特征向量得到图像中对象的识别结果。例如,服务器的数据库中可以存储有多个待比对对象的图像或者通过对这些图像进行特征提取后得到的各个参考对象的特征向量,服务器在对待识别图像进行特征提取之后,可以基于提取出的特征向量和数据库中存储的各个参考对象的特征向量之间的相似度,判断待识别图像中的对象是哪个参考对象。
其中,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。上述用户终端(也可以称为用户设备)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR/VR设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可选的,本申请实施例提供的对象识别方法可以实现为一独立的应用程序或者是一应用程序的功能模块/插件,比如,该应用程序可以是专门的对象识别系统(比如人脸识别系统)中的识别程序,或者是具有对象识别功能的其他应用程序,通过该应用程序,可以实现对待识别对象识别类。
需要说明的是,在实际应用中,对于对象的类型本申请实施例不做限定,可以包括但不限于人、人脸或者其他对象,相应的,本申请实施例中的样本图像、待识别图像是包含对象的图像。
在本申请的可选实施例中,所涉及到的与对象(如用户)有关的等数据,当本申请的实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。也就是说,本申请实施例中如果涉及到与对象有关的数据,这些数据需要经由对象授权同意、且符合国家和地区的相关法律法规和标准的情况下获取的。
下面首先对本申请实施例中的所涉及的一些相关技术或技术用语进行介绍和解释。
超球面空间(Hyperspherical):一种特征映射空间,将对象图像(如人脸图像)的特征空间映射到超球面空间可以得到比较好的性能表现,这标识着在所有的基本几何空间中,超球面空间较适合于对象图像的特征表征。
注册集(gallery):也可以称为参考图像集或者原型图像集,是指包含多个对象的图像子集的数据集,每个对象的图像子集中包含该对象的一个或多个图像。
测试集(query):也可以称为查询图像集,注册集(gallery)和测试集(query)可以用于模型的测试,对于测试集中的图像,可以通过计算query图像的特征向量与gallery图像的特征向量之间的相似度来进行匹配,判断query图像中的对象是哪个gallery图像中的对象。
模型集成(model ensemble):模型集成是融合多个训练好的模型,基于某种方式实现多模型融合,这样来使最终的结果能够“取长补短”,融合各个模型的学习能力,提高最终模型的泛化能力。
下面通过对几个示例性的实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1示出了本申请实施例提供的一种对象特征提取模型的训练方法的流程示意图,该方法可以由任一电子设备执行,比如可以由服务器,如云服务器执行,下面以训练服务器作为执行主体为例进行说明,如图1所示,该方法包括以下步骤S110至步骤S140。
步骤S110:获取第一训练集和n个待训练的第一神经网络模型,n≥2,第一神经网络模型包括第一初始特征提取模块。
其中,第一训练集包括多个带有标签的第一样本图像,每个第一样本图像的标签表征了该第一样本图像中包含的样本对象的真实识别结果,也就是说,第一样本图像是包含样本对象的图像,图像的标签代表了样本对象的标识。第一训练集是各个第一神经网络模型的训练数据集,其中包括多个训练样本,也就是上述第一样本图像,对于第一训练数据集的获取方式本申请实施例不做限定。
本申请实施例中,第一神经网络模型中的第一初始特征提取模块是待训练的特征提取模块,用于对图像进行特征提取,对于第一初始特征提取模块的具体模型结构本申请实施例不做限定。可选的,第一初始特征提取模块可以是深度特征提取模块,即用于特征提取的深度神经网络
可选的,第一初始特征提取模块可以包括级联的特征图提取模块和特征映射模块,特征图提取模块用于对输入的图像进行特征图提取,特征映射模块用于将特征图映射到指定特征空间,得到图像中对象的特征向量。在后文的一些实施例描述中,第一初始特征提取模块的特征图提取模块也可以称为深度网络单元模块,该特征图提取模块通常具有的结构可以为卷积神经网络(CNN),可以包含有卷积(convolution)计算、非线性激活函数(Relu)计算、池化(Pooling)计算等操作,该模块的功能是对对象图像(包含对象的图像)进行空间特征的提取,输出的特征图保留着对象图像的空间结构信息。特征映射模块可以基于全连接网络实现,该模块也可以称为全连接映射单元模块,该模块的功能是将深度网络单元模块所提取出的包含有空间结构信息的特征图映射为一个设定维度的特征向量,比如,一个1×nd维度的向量μ,该向量即为图像的特征向量,也就是图像中包含的对象的对象特征向量(对象的特征表示)。
步骤S120:采用第一训练集分别对每个第一初始特征提取模块进行训练,得到训练好的n个第一对象特征提取模块。
由于第一训练集是带有标注标签的训练数据集,因此可以基于第一训练集对各个第一初始特征提取模型进行有监督训练,得到训练后的第一对象特征提取模块。可以理解的是,这里的第一对象特征提取模块就是对第一初始特征提取模块进行不断训练后得到的特征提取模块。
对于基于第一训练集对各个第一初始特征提取模块的训练方式本申请实施例不做限定,可以采用现有训练方式实现。可选的,标签代表的第一样本图像中对象的身份标识(真实的身份类别),对于每个第一初始特征提取模块训练时,可以在第一初始特征提取模块之后级联一个分类模块(比如softmax层),在训练过程中,将第一样本图像输入到第一初始特征提取模块之后,该分类模块可以基于第一初始特征提取模型提取出的对象特征向量预测第一样本图像的身份标识(比如,该第一样本对象中的图像属于各个身份类别的概率),可以基于预测出的身份标识和真实的身份标识之间的差异,计算训练损失。
在基于第一训练集进行训练时,可以将第一训练集分为多批数据,每个训练(也就是一次模型参数的调整)采用一批数据,每次训练将一批(一个batch)的第一样本图像输入到第一初始特征提取模块中,根据该批图像对应的训练损失可以得到第一初始特征提取模块对应的训练总损失,可以基于训练总损失或训练次数等判断训练是否满足条件,如果训练总损失满足条件或者训练次数达到设定次数,则可以将此时训练得到的第一初始特征提取模块作为第一对象特征提取模块。
通过对n个第一神经网络模型的第一初始特征提取模块分别进行不断训练,可以得到n个训练好的第一对象特征提取模块。
步骤S130:获取第二训练集和待训练的第二神经网络模型,第二训练集包括多个包含样本对象的第二样本图像,第二神经网络模型包括第二初始特征提取模块。
其中,第二样本图像可以是带有标签的图像,可以是不带有标签的图像。第一训练集和第二训练集可以有至少部分相同的样本图像,也可以不同。其中,第一样本图像和第二样本图像中包含的样本对象的类型,可以是由实际应用需求决定的,比如,训练好的目标对象特征提取模块是用于提取人脸特征,那么样本对象也应该是人脸。
第二初始特征提取模块也是待训练的特征提取模块,对于第二初始特征提取模块的具体模型结构本申请实施例也不做限定。可选的,第一初始特征提取模块和第二初始特征提取模块是基于相同模型结构的特征提取模块,但相比于第一初始特征提取模块,第二初始特征提取模块可以是较轻量级的特征提取模型,模型的参数量少于第一初始特征提取模块。第一神经网络模型可以称为大型识别网络单元模块,第二神经网络模型可以称为小型识别网络单元模块。
可选的,第二初始特征提取模块也可以包括级联的特征图提取模块和特征映射模块,同样的,特征图提取模块用于对输入的图像进行特征图提取,特征映射模块用于将特征图映射到指定特征空间,得到图像中对象的特征向量。
步骤S140:基于第二训练集对第二神经网络模型重复执行第一训练操作,直至满足第一训练结束条件,得到训练好的对象特征提取模型(也就是训练好的第二神经网络模型)。
其中,训练好的对象特征提取模型可以作为目标识别模型的特征提取模块,目标识别模型可以用于对输入到模型中的包含待识别对象的图像进行特征提取,基于提取得到的对象特征向量预测待识别对象的识别结果。
上述第一训练操作可以包括如图2中所示的步骤S141至步骤S144。
步骤S141:对于每个第二样本图像,将该图像输入到n个第一对象特征提取模块中,得到该图像的n个第一对象特征向量;
步骤S142:对于每个第二样本图像,将该图像输入到第二初始特征提取模块中,得到该图像的第二对象特征向量,
步骤S143:对于每个第二样本图像,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失;
步骤S144:基于各第二样本图像对应的第一训练损失,确定第二神经网络模型对应的第一训练总损失,若不满足第一训练结束条件,则基于第一训练总损失对第二神经网络模型的模型参数进行调整。
可选的,在实际应用中,基于第二训练集对第二初始特征提取模型执行训练操作时,也可以是将第二训练集划分为多个批次(batch),每次迭代训练用一个batch内训练数据(即第二样本头像),每个训练对应的第一训练总损失的计算则是基于一个batch内的所有样本图像对应的第二训练损失计算得到的。可以理解的是,在基于多个batch的训练数据对第二初始特征提取模块进行训练时,每次训练操作过程中上述每个第二样本对象指的是当前次训练操作所采用的batch中的每个第二样本对象。
由于n个第一对象特征提取模块是已经训练后的特征提取模块,那么则可以将这个n个第一对象特征提取模块作为教师网络用于指导第二初始特征提取模块的训练。第二初始特征提取模块是待训练的网络,对于每个第二样本对象而言,采用第二初始特征提取模块提取得到的第二对象特征向量的是不够准确的,该模块是需要基于样本图像进行学习的,而通过已经训练好的n个第一对象特征提取模块提取出的n个第一对象特征向量应该具有比较好的特征表达能力的对象特征,那么则可以基于这n个第一对象特征向量与通过第二初始特征提取模块提取出的第二对象特征向量之间的差异,计算出第二对象特征向量与n个第一对象特征向量之间的偏差,从而可以得到样本图像对应的训练损失。在得到各个第二样本图像对应的训练损失之后,可以对各个第二样本图像对应的训练损失进行融合(比如求和或求均值等),得到第二初始特征提取模块对应的第一训练总损失,该总损失可以用于衡量当前神经网络模型的性能,约束模块的训练。通过不断上述训练过程直至满足第一训练结束条件,即可以得到训练好的第一初始特征提取模型,也就是第一对象特征提取模型。
其中,第一训练结束条件可以根据实际应用需求配置,本申请实施例不做限定,可以包括但不限于训练次数达到设定次数或者是第一训练总损失满足预设条件,也就是通常所说的训练函数收敛,比如,第一训练总损失小于设定值或者连续设定次数的训练操作对应的训练总损失均小于设定值。
在对第二神经网络模型进行训练时,如果不满足上述第一训练结束条件,则可以对该模块的模型参数(网络参数)进行调整即调参,比如,可以基于梯度下降算法进行模型参数的调整,并对调整后的第二神经网络模型继续进行训练,通过不断的迭代训练直至满足上述第一训练结束条件,满足该条件的第二神经网络模型即可作为训练好的对象特征提取模型,该对象特征提取模型可以作为目标识别模型的特征提取模块,用于对包含对象的图像进行对象识别。
本申请实施例提供的上述训练方法,可以先基于带有标签的第一训练集训练得到多个第一对象特征提取模块,在此基础上,可以将多个第一对象特征提取模块作为指导模型,基于第二训练集对待训练的第二神经网络模型进行指导训练。由于多个第一对象特征提取模块是已经训练好的,在采用多个第一对象特征提取模块作为指导模型对第二神经网络模型进行指导训练时,可以使得最终训练好的神经网络模型(也就是上述对象特征提取模型)可以融合多个第一神经网络模型的模型能力,从而可以有效提高最终得到的对象特征提取模型的性能,能够更好的满足实际应用需求,在将该对象特征提取模型用于图像特征提取时,可以提高提取出的特征的表达能力,从而在基于特征进行对象识别时,可以有效提高识别结果的准确性。
在对第二神经网络模型进行训练时,每个第二样本图像对应的训练损失的具体计算方式本申请实施例不做限定,理论上只要是能够反映第二样本图像的n个第一对象特征向量和第二对象特征向量之间的差异的计算方式均可。比如,可以分别计算每个第一对象特征向量与第二对象特征向量之间的差异(比如,1减去两个向量之间的相似度),将n个第一对象特征向量对应的差异求均值,将均值作为第一训练损失。
在实际应用中,可以根据需求选择第二初始特征提取模型对应的损失函数(目标函数),采用该函数可以基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,得到第一训练损失。
可选的,对于每个第二样本图像,上述基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失,可以包括:
将该图像对应的n个第一对象特征向量进行融合,得到第一融合特征向量;基于该图像对应的第一融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
其中,将n个第一对象特征向量进行融合的具体方式,本申请实施例不做限定,比如,可以是将n个第一对象特征向量求均值,得到第一融合特征向量,再计算第一融合特征向量和第二对象特征向量之间的差异,将该差异作为第一训练损失。
对于每个样本图像而言,该图像对应的上述n个第一对象特征向量可以是通过以下方式得到的:
对于每个第一对象特征提取模块,通过该模块对该图像进行特征提取,得到第一特征图,并对该第一特征图进行特征映射,得到该图像对应于该模块的第一对象特征向量。
对于第一对象特征提取模块和第二初始特征提取模块中用于特征图提取的模型结构、以及用于对特征图进行特征映射的模型结构,本申请实施例不做限定。可选的,特征图(即feature map)的提取可以采用基于CNN的模型结构,特征映射可以基于全连接层的模型结构。
在实际应用中,在对图像中的对象进行特征提取时,由于受图像中可能存在遮挡、阴影或其他噪声、或者其他原因(如特征提取模块本身的性能影响)的影响,特征提取模块所提取得到的对象特征向量是存在不确定性的,而该不确定性是会影响训练出的目标特征提取模块的效果的。考虑到该因素,本申请还提供一种可选方案,该方案中,对于每个第二样本图像,上述对第二初始特征提取模块的训练操作还可以包括:
对于该图像的每个第一对象特征向量,基于该特征向量对应的第一特征图,确定该特征向量的第一置信度;
相应的,对于每个第二样本图像,上述基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失,可以包括:
对于该图像对应的每个第一对象特征向量,采用该特征向量的第一置信度对该特征向量进行加权,得到加权后的第一对象特征向量;
对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量;
根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
对于n个第一对象特征向量中的每个特征向量而言,该特征向量的置信度表征了该特征向量的可信程度,也可以理解为该特征向量对于相应对象的表达能力的准确度,特征向量的不确定性越低,对应的置信度相对越高。由于该特征向量是基于该特征向量对应的特征图映射得到的,那么则可以基于该特征向量对应的特征图确定该特征向量的第一置信度。在确定n个第一对象特征向量的第一置信度之后,则可以采用第一置信度对相应的第一对象特征向量进行加权,得到表达能力更好的加权后的第一对象特征向量。从而可以基于n个加权后的第一对象特征向量和第二对象特征向量之间的差异,确定第二样本图像对应的第一训练损失。由于加权后的第一对象特征向量的更加准确,那么采用加权后的第一对象特征向量计算的训练损失,对第二初始特征提取模型进行训练时,可以进一步提升训练得到的目标特征提取模型的模型性能。
其中,对于每个第二样本图像,基于该图像对应的n个加权后的第一对象特征向量和第二对象特征向量之间的差异,确定第一训练损失时,可以是通过对加权后的n个第一对象特征向量进行融合,得到第二融合特征向量,再计算第二融合特征向量和第二对象特征向量之间的差异,得到该图像对应的第一训练损失。对于加权后的n个第一对象特征向量进行融合的方式,可以根据实际需求配置,本申请实施例也不做限定。
作为一种可选方式,对于每个第二样本图像,上述对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量,可以包括:
通过以下表达式得到第二融合特征向量:
其中,表示第二融合特征向量,n表示第一神经网络模型的个数,也就是第一对象特征提取模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
通过该可选方式,可以基于通过对多个第一对象特征提取模块所提取出的第一对象特征向量以及各个向量的第一置信度,对多个第一对象特征向量进行集成,得到融合了各个第一对象特征提取模块的能力的第二融合特征向量。
对于确定对象特征向量的置信度的具体方式,本申请实施例不做限定,可以基于大量样本图像进行统计分析得到。作为一可选方案,置信度的确定可以通过神经网络模型预测得到,本申请实施例中,将预测置信度的神经网络模型称为不确定度估计模块。
可选的,每个第一神经网络模型还包括与第一初始特征提取模块对应的待训练的第一不确定度估计模块,在得到训练好的n个第一对象特征提取模块之后,该训练方法还可以包括:
获取第三训练集,该第三训练集包括多个样本子集、以及每个样本子集的类别特征向量,每个样本子集包括一个样本对象的至少一个第三样本图像,类别特征向量表征了相应的样本子集所对应的样本对象的真实特征向量;
对于每个待训练的第一不确定度估计模块,基于第三训练集对该不确定估计模块重复执行以下第二训练操作,直至满足第二训练结束条件,得到训练好的第一不确定度估计模块:
对于每个第三样本图像,通过该不确定估计模块对应的第一对象特征提取模块对该图像进行特征提取,得到该图像的第三特征图,并基于该特征图得到该图像的第三对象特征向量,将该第三特征图输入到该不确定度估计模块中,得到该第三对象特征向量的第三置信度,基于该图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失;
基于各第三样本图像对应的第二训练损失,确定该不确定度估计模型对应的第二训练总损失,若不满足第二训练结束条件,则基于第二训练总损失对该不确定度估计模块的模型参数进行调整;
其中,每个所述第一对象特征向量的第一置信度是通过相对应的训练好的第一不确定估计模块得到的。
也就是说,对于每个第一神经网络模型,该模型可以包括特征提取模块和不确定度估计模块两部分,这两部分可以分开训练,具体的,可以先基于第一训练集对该模型的第一初始特征提取模块进行训练,在得到训练好的第一对象特征提取模块,可以基于第三训练集和训练好的第一对象特征提取模块对该模型的不确定度估计模块进行训练,得到训练好的不确定度估计模块,该模块用于预测第一对象特征提取模块提取出的对象特征向量的置信度。那么基于训练好的第一神经网络模型和第二训练集对第二神经网络模型进行训练时,对于每个第二样本图像,则可以基于训练好的不确定度估计模块预测出与该估计模块对应的第一对象特征提取模块提取出的第一对象特征向量的第一置信度。
其中,第三训练集可以是包括多个样本对象各自对应的样子子集,也就是各个样本对象对应的样本图像集,一个样本子集对应的类别特征向量(也就是类别中心)代表了该样本子集对应的样本对象的标签特征,也就是真实特征向量,一个样本子集中的所有第三样本图像对应的标签特征是相同的。那么在对待训练的第一不确定度估计模块进行训练时,对于每个第三样本图像,可以基于第一神经网络模型预测出的该图像的对象特征向量、置信度以及真实特征向量,计算能够表征模型预测出的对象特征向量和真实特征向量之间偏差的第二训练损失。其中,对于计算每个第三样本图像对应的第二训练损失的具体方式本申请实施例不做限定,可以根据实际需求选择相应的训练损失函数或目标函数进行计算。
在实际实施时,由于第一神经网络模型有多个,每个第一神经网络模型具有各自的模型参数,不同第一神经网络模型的模型参数理论上是不同的,考虑到该情况,作为一可选方案,对于每个样本子集,该样本子集的类别特征向量可以包括该样本子集对应于每个第一神经网络模型的类别特征向量,也就是每个样本子集对应的类别特征向量可以有n个,对于每个第一神经网络模型,在基于第三训练集对该模型的不确定度估计模块进行训练的过程中,在计算第三样本图像对应的第二训练损失时,可以使用该样本图像对应于该模型的类别特征向量,即对于每个第一不确定度估计模块,上述确定每个第二样本图像对应的第二训练损失,可以是基于该第二样本图像的第三对象特征向量、第三置信度、以及该图像对应于该不确定度估计模块所属的第一神经网络模型的类别特征向量,确定该图像对应的第二训练损失。
对于每个样本子集对应的类别特征向量的获取方式,可以根据实际需求配置,比如,可以采用现有技术获取。可选的,本申请实施例提供了两种获取类别特征向量的方案,每个样本子集的类别特征向量是通过以下任一方式获取到的:
方式一:对于每个第一神经网络模型,将该样本子集中的每个第三样本图像输入到该模型的第一对象特征提取模块中,得到每个第三样本图像的对象特征向量;对该样本子集中各个第三样本图像的对象特征向量进行融合,得到该样本子集对应于该第一神经网络模型的类别特征向量;
方式二:对于每个第一神经网络模型,将该模型的第一对象特征提取模块的模型参数中该样本子集的类别对应的模型参数,作为该样本子集对应于该第一神经网络模型的类别特征向量,其中,每个样本子集对应一个类别。
对于方式一,由于每个第一神经网络模型的第一对象特征提取模块是已经训练好的可以采用该模块对每个样本子集中的各个样本图像进行对象特征提取,由于一个样子子集中的所有第三样本图像都是同一个样本对象的图像,那么则可以通过融合这些样本图像的对象特征向量得到代表该样本对象的类别特征向量。
对于方式二,由于每个第一神经网络模型的第一对象特征提取模块是用于提取能够表征图像中包含的对象的特征向量的,那么每个对象可以理解为一个类别,第一对象特征提取模块的模型参数中则包含了各个类别对应的模型参数(即每个类别的分类权重参数),每个类别的模型参数则可以作为一个类别的类别中心,因此,可以将每个样子子集对应的类别的模型参数作为类别特征向量。其中,第一对象特征提取模块可以包括特征图提取模块和特征映射模块,特征映射模块可以是全连接模块,全连接模块的最后一个全连接层的模型参数(也就是权重矩阵)包括各个类别的模型参数,每个类别对应一个对象,可以将特征映射模块的模型参数中每个类别的权重作为该类别对应的类别特征向量。
在基于第一训练集得到训练好的各个第一对象特征提取模块之后,可以进一步基于第三训练集训练得到每个第一对象特征提取模块对应的不确定度估计模块,从而得到训练好的n个第一神经网络模型,每个训练好的第一神经网络模型包括第一对象特征提取模块和特征提取模块对应的不确定度估计模型。在得到训练好的n个第一神经网络模型,则可以基于第二训练集和这n个第一神经网络模型对于第二神经网络模型进行训练,以得到训练好的满足应用需求的第二神经网络模型,也就是训练好的特征提取模型。
同样的,对于第二神经网络模型而言,该模型的特征提取模块所提取出的对象特征向量也是具有不确定性的,那么为了进一步提升最终得到的目标特征提取模型的性能,可选的,第二神经网络模型还可以包括待训练的第二不确定估计模块,该模块用于对第二神经网络模型的特征提取模块提取出的对象特征向量的置信度进行估计,对于每个第二样本图像,该图像的第二对象特征向量可以是通过以下方式得到的:
通过第二初始特征提取模块对该图像进行特征提取,得到第二特征图,并对该第二特征图进行特征映射,得到该图像的第二对象特征向量;
对于每个第二样本图像,第一训练操作还可以包括:将该图像对应的第二特征图输入到待训练的第二不确定度估计模块中,得到该图像的第二对象特征向量对应的第二置信度;
对于每个第二样本图像,上述根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失,包括:
确定该图像对应的第二融合特征向量的融合置信度;
根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异、以及该图像对应的融合置信度和第二置信度之间的差异,确定该图像对应的第一训练损失。
在该方案中,在对第二神经网络模型进行训练时,该模型的特征提取模块和不确定度估计模块是可以同时进行训练的,相应的,每个第二样本图像对应的第一训练损失除了可以考虑对象特征向量之间的差异外,还可以第二融合特征向量的融合置信度和第一置信度与第二神经网络模型预测出的该图像对应的第二置信度之间的差异,采用该方式计算出的训练损失约束第二神经网络模型的训练,可以使得第二神经网络模型预测出的对象特征向量和该特征向量之间的置信度更加准确。
其中,对于每个第二样本图像,该图像对应的第二融合特征向量的融合置信度可以通过以下任一方式确定:
基于该图像对应的第二融合特征向量,确定该第二融合特征向量的融合置信度;
将该图像对应的n个第一置信度进行融合,确定该图像的第二融合特征向量的融合置信度。
由于第二融合特征向量是对n个加权后的第一对象特征向量进行融合得到的,而n个第一置信度是加权前的第一对象特征向量的置信度,那么是可以通过对这n个第一置信度进行融合(例如,均值),得到该第二融合特征向量的融合置信度的。另外,由于第二融合特征向量已经是融入了n个第一置信度的对象特征向量,那么也可以基于该第二融合特征向量来确定融合置信度。
可选的,每个第二样本图像对应的融合置信度可以是通过以下表达式确定的:
其中,表示融合置信度,n表示第一神经网络模型的个数,也就是第二样本对象对应的第一对象特征向量的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
对于每个第二样本对象,在根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异、以及该图像对应的融合置信度和第二置信度之间的差异,确定该图像对应的第一训练损失时,作为一方式,可以通过以下表达式确定的该图像对应的第一训练损失:
其中,表示该图像对应的第二融合特征向量,表示的融合置信度,μφ(x)表示该图像的第二对象特征向量,表示μφ(x)的第二置信度。
基于本申请实施例提供的训练方法所训练得到的特征提取模型(也就是训练后的第二神经网络模型),可以有效融合了多个第一对象特征模型的优势,模型的性能相比于现有技术可以有了很大程度上的提升,通过该模型对待处理图像进行特征提取时,提取得到的特征向量具有了更好的特征表达能力。进一步的,本申请实施例训练得到的对象特征提取模型还可以包括训练好的不确定度估计模块,该估计模块可以评估提取得到的特征向量的置信度,从而可以基于提取出的对象特征向量以及该向量的置信度,进一步提升对象的识别准确度,比如,可以对象特征向量的置信度对该对象特征向量进行加权,将加权后的特征向量作为用于确定识别结果的特征向量。例如,可以通过该模型对两张包含对象的图像进行特征提取,得到两个图像各自对应的特征向量和特征向量的置信度,可以通过计算两张图像对应的加权后的特征向量的相似度,判断两张图像中的对象是否是同一对象。
基于本申请实施例提供的上述方法,本申请实施例还提供了一种对象识别方法,如图3所示,该识别方法可以包括:
步骤S310:获取待识别图像,所述待识别图像中包括待识别对象;
步骤S320:通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量;其中,对象特征提取模型是采用本申请任一可选实施例中提供的训练方法训练得到的;
步骤S330:基于待识别对象的对象特征向量,确定待识别对象的识别结果。
可选的,基于待识别对象的对象特征向量,确定待识别对象的识别结果,可以包括:计算待识别对象的对象特征向量与已知身份标识的对象的特征向量之间的相似度,根据该相似度确定待识别对象是否是该已知身份标识的对象;或者,待识别图像可以是多张,可以根据各个待识别图像的对象特征向量之间的相似度,判别多种图像中哪些图像是同一个对象的图像。
本申请的可选实施例中,上述对象特征提取模型可以包括对象特征提取模块和不确定度估计模块,上述通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量,可以包括:
通过对象特征提取模型的特征提取模块对待识别图像进行特征提取,得到待识别图像的特征图,并基于该特征图得到待识别对象的对象特征向量,基于该特征图,通过不确定度估计模块确定该对象特征向量的置信度;
相应的,上述基于待识别对象的对象特征向量,确定待识别对象的识别结果,可以包括:基于待识别对象的对象特征向量和该对象特征向量的置信度,确定待识别对象的识别结果。
可选的,该识别方法还可以包括:获取待比对图像,待比对图像中包括待比对对象;通过所述对象特征提取模型,得到待比对对象的对象特征向量和该对象特征向量的置信度;
上述基于待识别对象的对象特征向量,确定待识别对象的识别结果,可以包括:基于待比对对象的对象特征向量和该对象特征向量的置信度、以及待识别对象的对象特征向量和该对象特征向量的置信度,确定待识别对象和待识别对象是否为同一对象。
其中,作为一种可选方式,可以是采用待比对对象的对象特征向量的置信度对该对象特征向量进行加权,得到加权后的第一特征向量,采用待识别对象的对象特征向量的置信度对该对象特征向量进行加权,得到加权后的第二特征向量,计算加权后的第一特征向量和加权后的第一特征向量之间的相似度,根据该相似度确定待识别对象和待识别对象是否为同一对象。
作为另一可续方式,可以通过以下表达式计算待识别对象和待识别对象之间的相似度,根据该相似度确定待识别对象和待识别对象是否为同一对象:
其中,Sim为相似度,μi和μj分别表示待识别对象的对象特征向量和待比对对象的对象特征向量,κi为μi的置信度,κj为μj的置信度,为p的L2范数,为贝塞尔函数,r为超参数,可以为预设值。
在计算得到Sim之后,如果该相似度大于或等于相似度阈值,可以判断待识别对象和待识别对象是同一对象,如果该相似度小于相似度阈值,可以判断待识别对象和待识别对象不是同一对象。
为了更好的说明和理解本申请实施例提供的方案以及其实用价值,下面先结合一个应用场景的实施例对本申请实施例提供的方法进行说明。
可选的,图4中示出来本场景实施例所适用的一种对象识别系统的结构示意图,如图4中所示,该对象识别系统可以包括训练服务器10、应用服务器20和终端设备30,其中,训练服务器10可以用于执行本申请实施例提供的训练方法,得到训练好的对象特征提取模型,将该训练后的对象提取模型作为对象识别模型的特征提取模块,将对象识别模型部署到应用服务器20。应用服务器20可以基于对象模型提供对象识别服务,终端设备30可以是具有图像采集功能的终端设备,使用者可以通过该终端设备对待识别对象进行图像采集,并将采集到的待识别图像发送给应用服务器20,应用服务器20在接收到待识别图像后,可以调用对象识别模型对该图像进行识别,得到对象识别结果,可选的,可以将该对象识别结果通过终端设备30展示给使用者,或者是将识别结果发送给预先设置好的其他电子设备。
图5和图6分别示出了本场景实施例中基于图4所示的对象识别系统进行对象识别的方法的概要流程图和具体的实施流程图,下面结合图4、图5和图6对本申请实施例提供的方案进行描述。
如图5所示,该实施例中的实施过程可以分为两个阶段,第一阶段是模块训练阶段,可以由训练服务器10执行,第二阶段是模块部署阶段,该阶段是基于训练好的对象特征提取模块构建得到部署到应用服务器20中的对象识别模型。下面对这四个部分进行展开说明。
第一个部分:模块训练阶段
该阶段可以由训练服务器10执行,待训练的第一神经网络模型有n个,每个第一神经网络模型都包括要训练的第一初始特征提取模型和第一不确定度估计模块。如图5中所示,图5中的深度网络单元模块与全连接映射模块(也就是后文的全连接映射单元模块)是第一初始特征提取模块,教师模型不确定估计模块为第一不确定度估计模块,小模型为待训练的第二神经网络模型。
本训练阶段主要是对多个具有互补性的深度网络单元模块、全连接映射模块、不确定度估计模块进行训练,以确定其结构中的参数(即模型参数),该阶段先对多个第一神经网络模型进行训练,再对第二神经网络模型进行训练。如图6中所示,该阶段的训练步骤可以包括步骤S11至步骤S13。
步骤S11:基于第一训练集训练得到n个第一对象特征提取模块。
该步骤是对n个第一神经网络模型的特征提取模块(包括深度网络单元模块和全连接映射模块)分别进行训练,得到训练好的n个第一对象特征提取模型。其中,该步骤的训练流程如图7a所示,过程如下:
(a)训练数据准备模块:该模块是在训练过程中,对训练数据(第一训练集中的第一样本对象)进行读取,将读取到的数据组合成一个batch送入深度网络单元模块中进行处理。
(b)深度网络单元模块:该模块的功能是对包含对象的图片进行空间特征的提取,输出的特征图保留着对象图片的空间结构信息。在训练阶段,该模型是用于对输入的第一样本图像进行特征提取,得到对应的特征图。
(c)全连接映射单元模块:该模块的功能是将深度网络单元模块所提取出的包含有空间结构信息的特征图映射为一个1×nd维度的向量μ(第一样本图像的特征向量)。
(d)目标函数计算模块:该模块用于计算第一初始特征提取模块(深度网络单元模块和全连接映射模块)的训练损失,具体可以是基于全连接映射单元所输出的特征向量μ确定第一样本图像对应的对象预测结果,也就是预测得到的识别结果,如可以通过softmax层预测μ对应的分类结果f,该结果f可以是一个包含第一样本图像中的对象是各个类别的概率,可以将该结果f与产生该结果f的第一样本头像的标签(真实识别结果)作为目标函数计算模块的输入,计算得到目标函数值(而就是训练总损失loss)。目标函数可选用分类函数(如softmax损失函数、各类加margin类型的softmax损失函数),也可采用其他类型的目标函数。
如果不满足第一初始特征提取模块对应的训练终止条件(图7a中的基础模型训练条件),则进入到(e)。
(e)目标函数优化模块,该模块基于梯度下降的方式(如随机梯度下降,带动量项的随机梯度下降,adam,adagard),对深度网络单元模块和全连接映射模块进行训练优化,也就是对这两个模块的模型参数进行调整,之后重复(a)~(d),直至训练的结果满足训练终止条件,如果不满足终止条件,则基于梯度下降的方式进行模型参数的调整,再继续重复训练。终止模型训练的条件一般设置迭代次数满足设定的值,或者目标函数计算的loss小于设定的值即可完成模型的训练(图7a中所示的深度网络单元模块优化完成),得到训练好的深度网络单元模块和全连接映射单元模块,也就是第一对象特征提取模块。
在本申请实施例提供的方案中需要采用多模型集成技术,因此在训练阶段中需要训练多个较大的深度网络单元模块以及各自对应的全连接映射模块,也就是要训练得到多个第一对象特征提取模块。在实施实施时,多个待训练的第一初始特征提取模块的模型结构可以是相同的,但模型参数是不同的,可选的,可以先构建一个基础的特征提取网络,可以通过改变的该基础的特征提取网络模的随机初始化的种子得到多个不同的第一初始特征提取模块,也就是初始化的模型参数不同的多个包括上述深度网络单元模块和全连接映射单元模块的结构),再经过上述(a)~(e)的训练过程,得到多个训练好的第一对象特征提取模型,每个第一对象特征提取模型包括训练好的深度网络单元模块和全连接映射单元模块。
如图8所示,在模型集成的过程中,可以采用多个第一对象特征提取模块对同一个图像进行特征提取,得到的各个模型提取的特征分布在真实特征周围,可以采用集成的方式可以得到更为准确的图像特征,也就是图像中对象的特征向量。如图8所示,n的取值为6,通过6个第一对象特征提取模块提取得到的特征向量分别是图中的Feature1至Feature6,Ensemble Feature表示对这Feature1至Feature6进行融合,得到的融合后的特征向量,相比于Feature1至Feature6中的单个特征,Ensemble Feature具有更好的对象表征能力。
在得到n个训练后好的第一对象特征提取模型之后,则可以执行图6中所示的步骤S12,即基于第三训练集训练得到n个第一对象特征提取模块各自对应的第一不确定度估计模块。
在对不确定度估计模块进行训练的过程中,需要配合使用图7a中训练好的深度网络单元模块和全连接映射单元模块,在对不确定度估计模块训练的过程中,该深度网络单元模块和全连接映射单元模块的参数并不进行更新,即训练好的第一对象特征提取模块的模型参数固定,且每个第一对象特征提取模块(可以成为大模型)均各自训练配对的不确定度估计模块。
步骤S12的训练实施流程如图7b所示,过程如下:
(a)训练数据准备模块,该模块的功能与深度网络单元模块训练中的训练数据准备模块一致,用于获取该阶段的第三训练集。
(b)训练样本类中心获取模块,该模块的功能是计算得到第三训练集中每一个ID(一个ID对应一个样本对象)中的样本图像(样本子集)的类别中心wx∈c,wx∈c表示第c类样本的类中心,也就是一个样本子集中的样本对象对应的类别特征向量。该模块的计算方法可以是对一个类别中的所有样本图像特征(如通过第一对象特征模块提取得到)取均值操作,或者可以采用训练深度网络单元模块中得到的每一个类别的分类权重作为其类别中心。
(c)不确定度估计模块,该模块的功能是估计每个输入的第三样本图像的特征向量在超球面空间中的不确定度k(本场景实施例中的置信度)。该模块的结构可以包括但不限于基于CNN结构的模型(如:若干层全连接相连、采用RESNET形式的神经网络等)。其中,对于每个第三样本图像,可以通过训练好的深度网络单元模块提取该图像对应的第三特征图,将该特征图输入到不确定度估计模块中,得到该特征图对应的置信度k,将该特征图输入到训练好的全连接映射单元模块中得到该图像对应的第三对象特征向量μ(x)。
(d)不确定度目标函数计算模块,该模块的功能是对全连接映射单元模块所得到的特征μ(x)与该类别的类中心wx∈c进行目标函数的计算,也就是第二训练损失的计算,对于每个第三样本图像,可以通过如式(1)所示的计算公式计算该图像对应的第二训练损失Ls,其中,k表示该图像特征(对象特征向量的)的不确定度即置信度,μ(x)表示全连接映射单元模块的输出特征,d表示全连接映射模块所输出的特征维度,r表示特征映射到超球空间中的半径,I为贝塞尔函数,该函数的表达式如(2)所示。
(e)不确定度目标函数优化模块,该模块基于梯度下降的方式(如随机梯度下降,带动量项的随机梯度下降,adam,adagard),对整个不确定度估计模块进行优化,即对不确定度估计模型的模型参数进行调整。其中对于k、μ其优化的梯度如式(3),式(4)所示,训练中重复(a)~(d),直至训练的结果满足训练终止条件(第二训练结束条件)。终止模型训练的条件一般设置迭代次数满足设定的值,或者目标函数计算的loss(第二训练总损失,根据每次迭代训练时所采用的第三样本图像对应的第二训练损失得到)小于设定的值即可完成模型的训练,得到训练好的第一不确定度估计模块。
在通过步骤S11和步骤S12得到训练好的n个第一神经网络模型之后,可以基于第二训练集合和n个第一神经网络模型来对小模型进行训练,得到最终的对象特征提取模型。
步骤S13:基于n个训练好的第一神经网络模型和第二训练集对第二神经网络模型进行训练,得到对象特征提取模型。
该步骤是采用集成方式对小模型进行蒸馏训练,本步骤中所涉及的各模块功能及训练流程如图9所示,在本步骤中,需要进行模型参数更新的部分为图中带有背景填充的模块,即小型识别网络单元模块和小型不确定度估计模块。其中,小型识别网络单元模块为第二神经网络模型的第二初始特征提取模块,小型不确定度估计模块为第二神经网络模型的第二不确定估计模块。图9中的大型识别网络单元模块为训练好的第一神经网络模型的第一对象特征提取模块,不确定度估计模块1至不确定度估计模块n分别表示训练好的n个第一神经网络模型各自对应的第一不确定度估计模块。如图9所示,该步骤所涉及的各个模块和过程可以如下:
(a)训练数据准备模块,本模块的功能与前面深度网络单元模块训练中的训练数据准备模块一致,用于获取第二训练集,该训练集中包括大量第二样本图像。
(b)大型识别网络单元模块,该模块有n个,采用集成方式,故有多个大型网络,为步骤S11训练得到的大型识别网络(第一对象特征提取模块),本步骤中大型识别网络作为教师网络,其模型参数不进行更新。
(c)不确定度估计模块,该模块为也有n个,为步骤S12中所训练得到的不确定度估计模型。该模型与各个大型识别网络单元模块一一匹配,其模型参数也不进行更新。
(d)集成特征及不确定度计算模块,该模块为对n个大型识别网络所提取的特征及不确定度估计进行集成,输出为集成后的特征与不确定度集成公式如式(5-1)和公式(5-2)所示,其中,μ1~μn与κ1~κn为各个模型对该图片的特征与对应的不确定度,μ1~μn分别对应图9中的fea1~fean,κ1~κn分别对应图9中的kappa1~kappa n。
在步骤S13中,对于每个第二样本图像,可以将该图像分别输入到n个大型识别网络单元模块,通过大型识别网络单元模块提取该图像的特征图,并基于特征图得到对应的特征μ(也就是对象特征向量),并可以基于特征图,通过大型识别网络单元模块相匹配的不确定度估计模块,预测该特征μ的不确定度k。进一步的,可以基于上述公式(5-1)和公式(5-2)得到融合后的特征与不确定度也就是前文中的第二融合特征向量和融合置信度。
(e)小型识别网络单元模块与小型不确定度估计模块,在本步骤中小型识别网络单元模块的结构可以与步骤S11中的特征提取模块的结构一致,参数量较少,在训练阶段,该模块的输入为对象图像(第二样本图像),输出为所提取的特征u(第二对象特征向量,图中所示的Fea)和中间层特征图m(第二特征图)。小型不确定度估计模块的结构可以与步骤S12中第一不确定估计模块的结构一致,输入为特征图m,输出为不确定度kappa(第二置信度)。
(f)知识蒸馏目标函数计算模块:该模块用于计算每个第二样本图像对应的第二训练损失,再基于各个第二样本图像的第二训练损失得到训练总损失,该模块输入为大模型集成特征不确定度以及小型网络的输出特征μφ(x)不确定度其计算损失的公式可以如式(6)所示。
其中,表示一个第二样本图像对应的训练损失,表示模型训练的目标是训练总损失最小化,如小于设定值。
(g)知识蒸馏目标函数优化模块,本模块基于梯度下降的方式(如随机梯度下降,带动量项的随机梯度下降,adam,adagard),对小型网络识别模块与对应的不确定度估计模块进行优化,即对第二神经网络模型的模型参数进行调整。通过重复上述(a)~(d),直至训练的结果满足训练终止条件(第一训练结束条件)。终止模型训练的条件一般设置迭代次数满足设定的值,或者mu目标函数计算模块计算出的loss(第一训练总损失)小于设定的值即可完成模型的训练(即知识蒸馏训练优化完成),得到训练好的对象特征提取模型(包括训练好的小型识别网络单元模块和小型不确定度估计模块)。
如图5和图6中所示,在完成对小模型的训练后,则可以进入模块部署阶段,给阶段是基于训练好的小模型构建得到完整的对象识别模型,并可以将该对象识别模型部署到应用服务器20上,用于对图像中的对象进行识别。其中,图5中模块部署阶段的深度网络单元模块和全连接映射模块是小模型中的训练好的对象特征提取模块,不确定度估计模块是小模型中的训练好的第二不确定度估计模块。
模块部署阶段主要是将模块训练阶段中所得到的相关模块进行组合部署,形成一个完整的解决方案,作为可选方案,对象识别模型可以用于判断两张待比对图像中的对象是否是同一对象,该识别模型可以包括训练好的小型模型的深度网络单元模块、全连接映射单元模块和不确定度估计模块,还可以包括距离度量单元模块和阈值判断单元模块,其中,深度网络单元模块用于对输入对象识别模型的待识别图像的进行特征图提取,全连接映射单元模块则是基于该特征图映射得到图像的特征向量,不确定度估计模块则是根据特征图预测该特征向量的不确定度,距离度量单元模块则是基于两个待比对图像各自的特征向量和对应的不确定度,计算两个图像之间的相似度,阈值判断单元模块则是基于距离度量单元模块输出的相似度判断两张图像中的对象是否为同一对象。
本阶段的应用流程可以如图10所示,将两张待比对图片输入到深度网络单元模块,该模块输出具有高度表达信息的特征图,特征图经过全连接映射模块得到维度为d的特征μ即特征向量,同时特征图经过不确定度估计模块,得到图像对应的不确定估计因数k,即置信度。将两张待比对图像的图像特征(μi和μj)与不确定度估计因数(ki和kj)同时进入距离度量模块,由该模块通过公式(7)-(9)对图片对的相似度进行计算,得到比对图片对的相似度sim。
在计算出相似度sim之后,阈值判断单元模块根据相似度计算模块(即距离度量模块)所输出的图像相似度判断两张图像是否为来自同一个人的图像。其中,阈值th的确定可以根据在实际应用场景中所要求满足的误报率确定的,例如,可以获取参考数据集,参考数据集中包括多个样本图像对,可以将各个样本图像对输入到该对象识别模型中,得到各个样本图像对的预测结果(预测出的样本图像对中的对象是否是同一对象),根据所有样本图像对的预测结果以及要满足的误报率,可以确定出相应的阈值。其中,阈值判断单元模块的输出Lout如式(10)所示:
作为可以实际应用示例,应用服务器中可以预先采集并存储了多个已知身份标识的对象的图像,上述两个待比对图像中的一个图像可以时通过终端设备30实时采集的一个待识别对象的图像,将应用服务器中预先存储的各个图像分别作为另一个待比对图像,可以通过执行图10中所示的识别流程,判别出待识别对象的身份。如图5中所示,终端设备30通过步骤S21和步骤S22将实时采集的待识别对象的图像发送给应用服务器30,应用服务器30调用对象识别模型,通过执行图10所示的流程(步骤S31),判断该待识别图像中的对象是服务器中预先存入的哪个对象,或者是验证该待识别图像中的对象是不是预先存储的图像中的对象中的一个,并可以将识别结果发送给终端设备30(步骤S32),例如,如果识别出对象是已知身份标识的对象,那么识别结果可以是相匹配的身份或者是身份验证通过。
本申请实施例提供的方案,将图像特征(即基于图像提取得到的对象的特征向量)的不确定性分析与集成模型结合,采用集成模型的形式得到更为准确的特征与该图像对应的不确定度估计。再将其用于对小模型的蒸馏训练中,提升小模型的识别准确率。在训练阶段,可以先训练多个具有互补性的用于对象识别的包括深度网络单元模块和全连接映射单元模块的网络模型。然后每个网络模型中深度网络单元模块和全连接映射单元模块中的参数,将其输出作为各个配对的不确定度估计模块的输入,对不确定度估计模块进行训练,此过程中只是训练不确定度估计模块的模型参数,而不更新深度网络单元模块和全连接映射单元模块中的参数。之后,再利用训练得到的深度网络单元模块与各自的不确定度估计模块进行集成,对小模型进行蒸馏训练,得到训练好的小模型的深度网络单元模块、全连接映射单元模块和不确定度估计模块之后,模块部署阶段中,对在小模型的这些模块进行整合,并可以配合距离度量模块与阈值判断单元模块成为一个完整对象识别模型。采用本申请实施例提供的方案,可以提升对象识别系统的识别准确率,降低其误识别报警率,还可以增加小型识别模型在复杂场景中的鲁棒性。
对应于本申请实施提供的训练方法,本申请实施例还提供了一种对象特征提取模型的训练装置,如图11所示,该训练装置100可以包括训练数据获取模块110、第一模型训练模块120和第二模型训练模块130。
训练数据获取模块110,用于获取第一训练集和n个待训练的第一神经网络模型,n≥2,第一训练集包括多个带有标签的第一样本图像,标签表征了第一样本图像中包含的样本对象的真实识别结果,第一神经网络模型包括第一初始特征提取模块;以及用于获取第二训练集和待训练的第二神经网络模型,第二训练集包括多个包含样本对象的第二样本图像,第二神经网络模型包括第二初始特征提取模块;
第一模型训练模块120,用于采用第一训练集,分别对每个第一初始特征提取模块进行训练,得到训练好的n个第一对象特征提取模块;
第二模型训练模块130,用于对第二神经网络模型重复执行以下第一训练操作,直至满足第一训练结束条件,得到训练好的对象特征提取模型,第一训练操作包括:
对于每个第二样本图像,将该图像输入到n个第一对象特征提取模块中,得到该图像的n个第一对象特征向量,将该图像输入到第二初始特征提取模块中,得到该图像的第二对象特征向量,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失;基于各第二样本图像对应的第一训练损失,确定第二初始特征提取模块对应的第一训练总损失,若不满足第一训练结束条件,则基于第一训练总损失对第二神经网络模型的模型参数进行调整。
可选的,对于每个第二样本图像,第二模型训练模块在确定该图像对应的第一训练损失时可以用于:
将该图像对应的n个第一对象特征向量进行融合,得到第一融合特征向量;基于该图像对应的第一融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
可选的,对于每个第二样本图像,该图像对应的n个第一对象特征向量是通过以下方式得到的:
对于每个第一对象特征提取模块,通过该模块对该图像进行特征提取,得到第一特征图,并对该第一特征图进行特征映射,得到该图像对应于该模块的第一对象特征向量;
对于每个第二样本图像,第二模型训练模块可以用于:
对于该图像的每个第一对象特征向量,基于该特征向量对应的第一特征图,确定该特征向量的第一置信度;对于该图像对应的每个第一对象特征向量,采用该特征向量的第一置信度对该特征向量进行加权,得到加权后的第一对象特征向量;对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量;根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
可选的,每个第一神经网络模型还包括与第一初始特征提取模块对应的待训练的第一不确定度估计模块,在得到训练好的n个第一对象特征提取模块之后,第一模型训练模块还可以用于执行以下操作:
获取第三训练集,第三训练集包括多个样本子集、以及每个样本子集的类别特征向量,每个样本子集包括一个样本对象的至少一个第三样本图像,类别特征向量表征了相应的样本子集所对应的样本对象的真实特征向量;
对于每个待训练的第一不确定度估计模块,基于第三训练集对该不确定估计模块重复执行第二训练操作,直至满足第二训练结束条件,得到训练好的第一不确定度估计模块,第二训练操作包括:
对于每个第三样本图像,通过该不确定估计模块对应的第一对象特征提取模块得到该图像的第三特征图,并基于该特征图得到该图像的第三对象特征向量,将该第三特征图输入到该不确定度估计模块中,得到该第三对象特征向量的第三置信度,基于该图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失;基于各第三样本图像对应的第二训练损失,确定该不确定度估计模型对应的第二训练总损失,若不满足第二训练结束条件,则基于第二训练总损失对该不确定度估计模块的模型参数进行调整;其中,每个第一对象特征向量的第一置信度是通过相对应的训练好的第一不确定估计模块得到的。
可选的,对于每个第二样本图像,该图像的第二对象特征向量是通过以下方式得到的:
通过第二初始特征提取模块对该图像进行特征提取,得到第二特征图,并对该第二特征图进行特征映射,得到该图像的第二对象特征向量;
第二神经网络模型还包括待训练的第二不确定度估计模块,对于每个第二样本图像,第一训练操作还包括:
将该图像对应的第二特征图输入到待训练的第二不确定度估计模块中,得到该图像的第二对象特征向量对应的第二置信度;
对于每个第二样本图像,第二模型训练模块在确定该图像对应的第一训练损失时,可以用于:
确定该图像对应的第二融合特征向量的融合置信度;根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异、以及该图像对应的融合置信度和第二置信度之间的差异,确定该图像对应的第一训练损失。
可选的,对于每个第二样本图像,第二模型训练模块可以通过以下任一项确定该图像对应的第二融合特征向量的融合置信度:
基于该图像对应的第二融合特征向量,确定该第二融合特征向量的融合置信度;
将该图像对应的n个第一置信度进行融合,确定该图像的第二融合特征向量的融合置信度。
可选的,对于每个第二样本图像,第二模型训练模块在对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量时,可以通过以下表达式得到该第二融合特征向量:
其中,表示第二融合特征向量,n表示第一神经网络模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
可选的,每个第二样本图像对应的融合置信度是通过以下表达式确定的:
其中,表示融合置信度,n表示第一神经网络模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
可选的,每个第二样本图像对应的第一训练损失是通过以下表达式确定的:
其中,表示该图像对应的第二融合特征向量,表示的融合置信度,μφ(x)表示该图像的第二对象特征向量,表示μφ(x)的第二置信度。
可选的,对于每个样本子集,该样本子集的类别特征向量包括该样本子集对应于每个第一神经网络模型的类别特征向量;
对于每个第一不确定度估计模块,第一模型训练模块在基于每个第二样本图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失时,可以用于:
基于该图像的第三对象特征向量、第三置信度、以及该图像对应于该不确定度估计模块所属的第一神经网络模型的类别特征向量,确定该图像对应的第二训练损失;
其中,每个样本子集的类别特征向量可以是通过以下任一方式获取到的:
对于每个第一神经网络模型,将该样本子集中的每个第三样本图像输入到该模型的第一对象特征提取模块中,得到每个第三样本图像的对象特征向量;对该样本子集中各个第三样本图像的对象特征向量进行融合,得到该样本子集对应于该第一神经网络模型的类别特征向量;
对于每个第一神经网络模型,将该模型的第一对象特征提取模块的模型参数中该样本子集的类别对应的模型参数,作为该样本子集对应于该第一神经网络模型的类别特征向量,其中,每个样本子集对应一个类别。
对应于本申请实施例提供的对象识别方法,本申请实施例还提供了一种对象识别装置,如图12所示,该对象识别装置200可以包括待处理图像获取模块210和图像识别模块220。
待处理图像获取模块110,用于获取待识别图像,待识别图像中包括待识别对象;
图像识别模块120,用于通过调用对象特征提取模型对待识别图像进行特征提取,得到待识别对象的对象特征向量,基于待识别对象的对象特征向量,确定待识别对象的识别结果;
其中,对象特征提取模型是采用本申请任一可选实施例中提供的任训练方法训练得到的。
可选的,图像识别模块可以用于:
通过所述对象特征提取模块对所述待识别图像进行特征提取,得到所述待识别图像的特征图,并基于所述特征图,得到所述待识别对象的对象特征向量和该对象特征向量的置信度;
基于所述待识别对象的对象特征向量和该对象特征向量的置信度,确定所述待识别对象的识别结果。
可选的,待处理图像获取模块还可以用于:
获取待比对图像,所述待比对图像中包括待比对对象;通过所述对象特征提取模型,得到所述待比对对象的对象特征向量和该对象特征向量的置信度;
图像识别模块可以用于:基于所述待比对对象的对象特征向量和该对象特征向量的置信度、以及所述待识别对象的对象特征向量和该对象特征向量的置信度,确定所述待识别对象和所述待识别对象是否为同一对象。
可以理解的是,本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行存储器中存储的计算机程序时可实现本申请任一可选实施例中的方法。
图13示出了本发明实施例所适用的一种电子设备的结构示意图,如图13所示,该电子设备可以为服务器或者用户终端,该电子设备可以用于实施本发明任一实施例中提供的方法。
如图13中所示,该电子设备2000主要可以包括至少一个处理器2001(图13中示出了一个)、存储器2002、通信模块2003和输入/输出接口2004等组件,可选的,各组件之间可以通过总线2005实现连接通信。需要说明的是,图13中示出的该电子设备2000的结构只是示意性的,并不构成对本申请实施例提供的方法所适用的电子设备的限定。
其中,存储器2002可以用于存储操作系统和应用程序等,应用程序可以包括在被处理器2001调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器2002可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器2001通过总线2005与存储器2002连接,通过调用存储器2002中所存储的应用程序实现相应的功能。其中,处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
电子设备2000可以通过通信模块2003(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块2003可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
电子设备2000可以通过输入/输出接口2004可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备200自身可以具有显示设备,还可以通过接口2004外接其他显示设备。可选的,通过该接口2004还可以连接存储装置,如硬盘等,以可以将电子设备2000中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器2002中。可以理解的,输入/输出接口2004可以是有线接口,也可以是无线接口。根据实际应用场景的不同,与输入/输出接口2004连接的设备,可以是电子设备2000的组成部分,也可以是在需要时与电子设备2000连接的外接设备。
用于连接各组件的总线2005可以包括一通路,在上述组件之间传送信息。总线2005可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。根据功能的不同,总线2005可以分为地址总线、数据总线、控制总线等。
可选的,对于本发明实施例所提供的方案而言,存储器2002可以用于存储执行本发明方案的计算机程序,并由处理器2001来运行,处理器2001运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
基于与本申请实施例提供的方法相同的原理,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (18)

1.一种特征提取模型的训练方法,其特征在于,包括:
获取第一训练集和n个待训练的第一神经网络模型,n≥2,所述第一训练集包括多个带有标签的第一样本图像,所述标签表征了第一样本图像中包含的样本对象的真实识别结果,所述第一神经网络模型包括第一初始特征提取模块;
采用所述第一训练集,分别对每个第一初始特征提取模块进行训练,得到训练好的n个第一对象特征提取模块;
获取第二训练集和待训练的第二神经网络模型,所述第二训练集包括多个包含样本对象的第二样本图像,所述第二神经网络模型包括第二初始特征提取模块;
对所述第二神经网络模型重复执行第一训练操作,直至满足第一训练结束条件,得到训练好的对象特征提取模型,所述第一训练操作包括:
对于每个所述第二样本图像,将该图像输入到所述n个第一对象特征提取模块中,得到该图像的n个第一对象特征向量,将该图像输入到所述第二初始特征提取模块中,得到该图像的第二对象特征向量,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失;
基于各所述第二样本图像对应的第一训练损失,确定所述第二神经网络模型对应的第一训练总损失,若不满足所述第一训练结束条件,则基于所述第一训练总损失对所述第二神经网络模型的模型参数进行调整。
2.根据权利要求1所述的方法,其特征在于,所述基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失,包括:
将该图像对应的n个第一对象特征向量进行融合,得到第一融合特征向量;
基于该图像对应的第一融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
3.根据权利要求1所述的方法,其特征在于,对于每个所述第二样本图像,该图像对应的n个第一对象特征向量是通过以下方式得到的:
对于每个所述第一对象特征提取模块,通过该模块对该图像进行特征提取,得到第一特征图,并对该第一特征图进行特征映射,得到该图像对应于该模块的第一对象特征向量;
对于每个所述第二样本图像,所述第一训练操作还包括:
对于该图像的每个第一对象特征向量,基于该特征向量对应的第一特征图,确定该特征向量的第一置信度;
对于每个所述第二样本图像,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失,包括:
对于该图像对应的每个第一对象特征向量,采用该特征向量的第一置信度对该特征向量进行加权,得到加权后的第一对象特征向量;
对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量;
根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失。
4.根据权利要求3所述的方法,其特征在于,每个所述第一神经网络模型还包括与第一初始特征提取模块对应的待训练的第一不确定度估计模块,在得到训练好的n个第一对象特征提取模块之后,所述方法还包括:
获取第三训练集,所述第三训练集包括多个样本子集、以及每个样本子集的类别特征向量,每个所述样本子集包括一个样本对象的至少一个第三样本图像,所述类别特征向量表征了相应的样本子集所对应的样本对象的真实特征向量;
对于每个待训练的第一不确定度估计模块,基于所述第三训练集对该不确定估计模块重复执行第二训练操作,直至满足第二训练结束条件,得到训练好的第一不确定度估计模块,所述第二训练操作包括:
对于每个所述第三样本图像,通过该不确定估计模块对应的第一对象特征提取模块得到该图像的第三特征图,并基于该特征图得到该图像的第三对象特征向量,将该第三特征图输入到该不确定度估计模块中,得到该第三对象特征向量的第三置信度,基于该图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失;
基于各所述第三样本图像对应的第二训练损失,确定该不确定度估计模型对应的第二训练总损失,若不满足所述第二训练结束条件,则基于所述第二训练总损失对该不确定度估计模块的模型参数进行调整;
其中,每个所述第一对象特征向量的第一置信度是通过相对应的训练好的第一不确定估计模块得到的。
5.根据权利要求4所述的方法,其特征在于,对于每个所述第二样本图像,该图像的第二对象特征向量是通过以下方式得到的:
通过所述第二初始特征提取模块对该图像进行特征提取,得到第二特征图,并对该第二特征图进行特征映射,得到该图像的第二对象特征向量;
所述第二神经网络模型还包括待训练的第二不确定度估计模块,对于每个所述第二样本图像,所述第一训练操作还包括:
将该图像对应的第二特征图输入到所述待训练的第二不确定度估计模块中,得到该图像的第二对象特征向量对应的第二置信度;
对于每个所述第二样本图像,所述根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失,包括:
确定该图像对应的第二融合特征向量的融合置信度;
根据该图像对应的第二融合特征向量和第二对象特征向量之间的差异、以及该图像对应的融合置信度和第二置信度之间的差异,确定该图像对应的第一训练损失。
6.根据权利要求5所述的方法,其特征在于,对于每个所述第二样本图像,所述确定该图像对应的第二融合特征向量的融合置信度,包括以下任一项:
基于该图像对应的第二融合特征向量,确定该第二融合特征向量的融合置信度;
将该图像对应的n个第一置信度进行融合,得到该图像的第二融合特征向量的融合置信度。
7.根据权利要求3所述的方法,其特征在于,所述对该图像对应的加权后的n个第一对象特征向量进行融合,得到第二融合特征向量,包括:
通过以下表达式得到第二融合特征向量:
其中,表示第二融合特征向量,n表示第一神经网络模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
8.根据权利要求5或6所述的方法,其特征在于,每个所述第二样本图像对应的融合置信度是通过以下表达式确定的:
其中,表示融合置信度,n表示第一神经网络模型的个数,μi表示第二样本图像对应于第i个第一神经网络模型的第一对象特征向量,1≤i≤n,ki表示μi的第一置信度,|| ||2为L2范数计算符号。
9.根据权利要求5或6所述的方法,其特征在于,每个所述第二样本图像对应的第一训练损失是通过以下表达式确定的:
其中,表示该图像对应的第二融合特征向量,表示的融合置信度,μφ(x)表示该图像的第二对象特征向量,表示μφ(x)的第二置信度。
10.根据权利要求4所述的方法,其特征在于,对于每个所述样本子集,该样本子集的类别特征向量包括该样本子集对应于每个第一神经网络模型的类别特征向量;
对于每个第一不确定度估计模块,所述基于该图像的第三对象特征向量、第三置信度、以及该图像对应的类别特征向量,确定该图像对应的第二训练损失,包括:
基于该图像的第三对象特征向量、第三置信度、以及该图像对应于该不确定度估计模块所属的第一神经网络模型的类别特征向量,确定该图像对应的第二训练损失;
其中,每个样本子集的类别特征向量是通过以下任一方式获取到的:
对于每个所述第一神经网络模型,将该样本子集中的每个第三样本图像输入到该模型的第一对象特征提取模块中,得到每个第三样本图像的对象特征向量;对该样本子集中各个第三样本图像的对象特征向量进行融合,得到该样本子集对应于该第一神经网络模型的类别特征向量;
对于每个所述第一神经网络模型,将该模型的第一对象特征提取模块的模型参数中该样本子集的类别对应的模型参数,作为该样本子集对应于该第一神经网络模型的类别特征向量,其中,每个所述样本子集对应一个类别。
11.一种对象识别方法,其特征在于,包括:
获取待识别图像,所述待识别图像中包括待识别对象;
通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量;
基于所述待识别对象的对象特征向量,确定所述待识别对象的识别结果;
其中,所述对象特征提取模型是采用权利要求1至10中任一项所述的方法训练得到的。
12.根据权利要求11所述的方法,其特征在于,所述对象特征提取模块是采用权利要求5中所述的方法训练得到的,所述通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量,包括:
通过所述对象特征提取模块对所述待识别图像进行特征提取,得到所述待识别图像的特征图,并基于所述特征图,得到所述待识别对象的对象特征向量和该对象特征向量的置信度;
所述基于所述待识别对象的对象特征向量,确定所述待识别对象的识别结果,包括:
基于所述待识别对象的对象特征向量和该对象特征向量的置信度,确定所述待识别对象的识别结果。
13.根据权利要求12所述的方法,其特征在于,还包括:
获取待比对图像,所述待比对图像中包括待比对对象;
通过所述对象特征提取模型,得到所述待比对对象的对象特征向量和该对象特征向量的置信度;
所述基于所述待识别对象的对象特征向量,确定所述待识别对象的识别结果,包括:
基于所述待比对对象的对象特征向量和该对象特征向量的置信度、以及所述待识别对象的对象特征向量和该对象特征向量的置信度,确定所述待识别对象和所述待识别对象是否为同一对象。
14.一种对象特征提取模型的训练装置,其特征在于,包括:
训练数据获取模块,用于获取第一训练集和n个待训练的第一神经网络模型,n≥2,所述第一训练集包括多个带有标签的第一样本图像,所述标签表征了第一样本图像中包含的样本对象的真实识别结果,所述第一神经网络模型包括第一初始特征提取模块;以及用于获取第二训练集和待训练的第二神经网络模型,所述第二训练集包括多个包含样本对象的第二样本图像,所述第二神经网络模型包括第二初始特征提取模块;
第一模型训练模块,用于采用所述第一训练集,分别对每个第一初始特征提取模块进行训练,得到训练好的n个第一对象特征提取模块;
第二模型训练模块,用于对所述第二神经网络模型重复执行第一训练操作,直至满足第一训练结束条件,得到训练好的对象特征提取模型,所述第一训练操作包括:
对于每个所述第二样本图像,将该图像输入到所述n个第一对象特征提取模块中,得到该图像的n个第一对象特征向量,将该图像输入到所述第二初始特征提取模块中,得到该图像的第二对象特征向量,基于该图像的n个第一对象特征向量和第二对象特征向量之间的差异,确定该图像对应的第一训练损失;
基于各所述第二样本图像对应的第一训练损失,确定所述第二神经网络模型对应的第一训练总损失,若不满足所述第一训练结束条件,则基于所述第一训练总损失对所述第二神经网络模型的模型参数进行调整。
15.一种对象识别装置,其特征在于,包括:
待处理图像获取模块,用于获取待识别图像,所述待识别图像中包括待识别对象;
图像识别模块,用于通过调用对象特征提取模型对所述待识别图像进行特征提取,得到所述待识别对象的对象特征向量,基于所述待识别对象的对象特征向量,确定所述待识别对象的识别结果;
其中,所述对象特征提取模型是采用权利要求1至10中任一项所述的方法训练得到的。
16.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序以实现权利要求1至10中任一项所述的方法,或者实现权利要求11至13任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法,或者实现权利要求11至13中任一项所述的方法。
18.一种计算机程序产品,其特征在于,所述计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法,或者实现权利要求11至13中任一项所述的方法。
CN202210556988.4A 2022-05-20 2022-05-20 特征提取模型的训练方法、对象识别方法、装置及设备 Active CN117036841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210556988.4A CN117036841B (zh) 2022-05-20 2022-05-20 特征提取模型的训练方法、对象识别方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210556988.4A CN117036841B (zh) 2022-05-20 2022-05-20 特征提取模型的训练方法、对象识别方法、装置及设备

Publications (2)

Publication Number Publication Date
CN117036841A true CN117036841A (zh) 2023-11-10
CN117036841B CN117036841B (zh) 2025-09-12

Family

ID=88643546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210556988.4A Active CN117036841B (zh) 2022-05-20 2022-05-20 特征提取模型的训练方法、对象识别方法、装置及设备

Country Status (1)

Country Link
CN (1) CN117036841B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119068314A (zh) * 2024-11-06 2024-12-03 浙江大华技术股份有限公司 识别目标对象的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001903A (zh) * 2020-08-21 2020-11-27 深圳市华汉伟业科技有限公司 缺陷检测网络构建方法、异常检测方法及系统、存储介质
CN112052789A (zh) * 2020-09-03 2020-12-08 腾讯科技(深圳)有限公司 人脸识别方法、装置、电子设备及存储介质
CN112784953A (zh) * 2019-11-07 2021-05-11 佳能株式会社 对象识别模型的训练方法及装置
CN113256339A (zh) * 2021-06-04 2021-08-13 脸萌有限公司 资源投放的方法、装置、存储介质及电子设备
CN114049584A (zh) * 2021-10-09 2022-02-15 百果园技术(新加坡)有限公司 一种模型训练和场景识别方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112784953A (zh) * 2019-11-07 2021-05-11 佳能株式会社 对象识别模型的训练方法及装置
CN112001903A (zh) * 2020-08-21 2020-11-27 深圳市华汉伟业科技有限公司 缺陷检测网络构建方法、异常检测方法及系统、存储介质
CN112052789A (zh) * 2020-09-03 2020-12-08 腾讯科技(深圳)有限公司 人脸识别方法、装置、电子设备及存储介质
CN113256339A (zh) * 2021-06-04 2021-08-13 脸萌有限公司 资源投放的方法、装置、存储介质及电子设备
CN114049584A (zh) * 2021-10-09 2022-02-15 百果园技术(新加坡)有限公司 一种模型训练和场景识别方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119068314A (zh) * 2024-11-06 2024-12-03 浙江大华技术股份有限公司 识别目标对象的方法及装置

Also Published As

Publication number Publication date
CN117036841B (zh) 2025-09-12

Similar Documents

Publication Publication Date Title
CN112395979B (zh) 基于图像的健康状态识别方法、装置、设备及存储介质
CN111523621A (zh) 图像识别方法、装置、计算机设备和存储介质
CN110443232B (zh) 视频处理方法及相关装置,图像处理方法及相关装置
WO2024104068A1 (zh) 视频检测方法、装置、设备、存储介质及产品
CN114677611B (zh) 数据识别方法、存储介质及设备
CN116152938A (zh) 身份识别模型训练和电子资源转移方法、装置及设备
CN117036841A (zh) 特征提取模型的训练方法、对象识别方法、装置及设备
CN113656927B (zh) 数据处理方法、相关设备及计算机存储介质
CN116226655A (zh) 智慧家庭环境感知方法、装置、存储介质和电子设备
CN116361643A (zh) 实现对象推荐的模型训练方法及对象推荐方法及相关装置
CN118035800A (zh) 模型训练方法、装置、设备及存储介质
CN117011903A (zh) 人脸识别方法、装置、设备、存储介质及产品
CN108154165A (zh) 基于大数据与深度学习的婚恋对象匹配数据处理方法、装置、计算机设备和存储介质
CN113987087A (zh) 帐户处理方法、装置、电子设备及存储介质
CN118114123B (zh) 识别模型的处理方法、装置、计算机设备和存储介质
CN108038496B (zh) 基于大数据与深度学习的婚恋对象匹配数据处理方法、装置、计算机设备和存储介质
CN115130539B (zh) 分类模型训练、数据分类方法、装置和计算机设备
CN119691161A (zh) 一种融合历史信息的会话推荐方法及相关装置
CN117011909A (zh) 人脸识别模型的训练方法、人脸识别的方法和装置
CN118550906B (zh) 数据质量提升方法、相关装置和介质
CN118035496B (zh) 视频推荐方法、装置、电子设备和存储介质
HK40054058A (zh) 数据处理方法、相关设备及计算机存储介质
HK40054058B (zh) 数据处理方法、相关设备及计算机存储介质
CN120337044A (zh) 模型训练及异常检测方法、装置、电子设备及存储介质
CN119693632A (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