CN117115596A - 对象动作分类模型的训练方法、装置、设备及介质 - Google Patents
对象动作分类模型的训练方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117115596A CN117115596A CN202311390510.XA CN202311390510A CN117115596A CN 117115596 A CN117115596 A CN 117115596A CN 202311390510 A CN202311390510 A CN 202311390510A CN 117115596 A CN117115596 A CN 117115596A
- Authority
- CN
- China
- Prior art keywords
- action
- classification model
- training
- data
- training data
- 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
Links
- 230000009471 action Effects 0.000 title claims abstract description 633
- 238000012549 training Methods 0.000 title claims abstract description 450
- 238000013145 classification model Methods 0.000 title claims abstract description 312
- 238000000034 method Methods 0.000 title claims abstract description 166
- 239000013598 vector Substances 0.000 claims description 207
- 230000033001 locomotion Effects 0.000 claims description 121
- 230000000875 corresponding effect Effects 0.000 claims description 118
- 230000006870 function Effects 0.000 claims description 75
- 238000001514 detection method Methods 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 47
- 238000012546 transfer Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 17
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 26
- 238000013473 artificial intelligence Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 208000025978 Athletic injury Diseases 0.000 description 1
- 206010068829 Overconfidence Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000037147 athletic performance Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- -1 for example Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Abstract
本申请公开了一种对象动作分类模型的训练方法、装置、设备及介质,获取包括第一训练数据和第二训练数据的训练数据集,每组第一训练数据中包括样本对象执行预定动作类别的图像;每组第二训练数据中包括样本对象执行预定动作类别以外的其他图像。使用第一训练数据确定第一损失值,将第二训练数据输入到对象动作分类模型中,得到样本对象执行各个预定动作类别的第一概率,通过分类概率阈值确定第二损失值;根据第一损失值和第二损失值进行参数更新,得到训练好的对象动作分类模型。本申请能够提高训练得到的对象动作分类模型的准确度。本申请的技术方案可广泛应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种对象动作分类模型的训练方法、装置、设备及介质。
背景技术
当前,随着信息技术和人工智能技术的高速发展,相关的应用已经逐步融入到人们的生活中,为人们提供了各式各样的服务。例如,基于视频图像数据的动作分类识别应用,在近些年受到了广泛的关注,并取得了显著的性能。动作分类一般是指对人体的动作进行识别,它可以通过分析输入的视频、图像或传感器数据,自动识别和分类不同的人体动作,如行走、跑步、跳高等,该项应用在较多行业得到了普及。
相关技术中,一般采用机器学习/深度学习技术实现对象动作的分类识别。通过采集相关的视频图像数据,结合预先设定的多种动作类别进行标注,可以对人工智能模型进行训练,得到用于进行对象动作分类的模型。但是,在实际处理中发现,上述方式仅适用于封闭集条件的情况,即将所有的视频图像数据分类为训练过程中遇到的动作类别,而实际场景中的动作类别是多样化的,可能超出了训练时预定的动作类别范围。因此,通过上述方式训练得到对象动作分类模型,通常会将部分未知动作类别的视频图像数据分类为预定的动作类别,分类的准确度较低。
综上,相关技术中存在的技术问题有待得到改善。
发明内容
本申请实施例提供了一种对象动作分类模型的训练方法、装置、设备及介质,能够有效提高训练得到的对象动作分类模型的准确度,有利于实现精准、可靠的对象动作分类应用。
本申请实施例的一方面提供了一种对象动作分类模型的训练方法,所述方法包括:
获取训练数据集;所述训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组所述第一训练数据中包括样本对象执行预定动作类别的图像数据,每组所述第二训练数据中包括所述样本对象执行所述预定动作类别以外的其他图像数据;
将所述第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值;
将所述第二训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第二训练数据中的所述样本对象执行的动作类别进行预测,得到第一预测结果;所述第一预测结果包括所述对象动作分类模型预测所述样本对象执行各个所述预定动作类别的第一概率;
根据所述第一概率和预设的分类概率阈值,确定训练的第二损失值;
根据所述第一损失值和所述第二损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
另一方面,本申请实施例提供了一种对象动作分类模型的训练装置,所述装置包括:
第一获取单元,用于获取训练数据集;所述训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组所述第一训练数据中包括样本对象执行预定动作类别的图像数据,每组所述第二训练数据中包括所述样本对象执行所述预定动作类别以外的其他图像数据;
第一处理单元,用于将所述第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值;
第一预测单元,用于将所述第二训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第二训练数据中的所述样本对象执行的动作类别进行预测,得到第一预测结果;所述第一预测结果包括所述对象动作分类模型预测所述样本对象执行各个所述预定动作类别的第一概率;
第二处理单元,用于根据所述第一概率和预设的分类概率阈值,确定训练的第二损失值;
更新单元,用于根据所述第一损失值和所述第二损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
可选地,所述训练数据集中还包括所述第一训练数据对应的标签数据,所述标签数据用于表征所述第一训练数据中的所述样本对象执行的动作类别的真实结果;所述第一处理单元具体用于:
将所述第一训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第一训练数据中的所述样本对象执行的动作类别进行预测,得到第二预测结果;所述第二预测结果包括所述对象动作分类模型预测所述样本对象执行各个所述预定动作类别的第二概率;
根据所述标签数据和所述第二预测结果,确定训练的第一损失值。
可选地,所述对象动作分类模型包括第一隐藏层和第二隐藏层;所述第一处理单元具体用于:
将所述第一训练数据输入到所述第一隐藏层,通过所述第一隐藏层对所述第一训练数据进行特征提取,得到第一特征数据;
将所述第一特征数据输入到所述第二隐藏层,通过所述第二隐藏层使用类中心权重参数对所述第一特征数据进行点乘,得到第一向量;其中,所述类中心权重参数中包括多个类中心权重向量,每个所述类中心权重向量和一个所述预定动作类别对应,所述第一向量的维度和所述预定动作类别的个数相同;
通过柔性最大传递函数对所述第一向量进行归一化处理,得到第二向量,将所述第二向量确定为第二预测结果;其中,所述第二向量内的数值元素表示所述对象动作分类模型预测所述样本对象执行对应的所述预定动作类别的第二概率。
可选地,所述第一处理单元具体用于:
根据所述标签数据中动作类别的真实结果,从所述类中心权重向量中确定对应的第一权重向量,并将所述类中心权重向量中除第一权重向量以外的类中心权重向量确定为第二权重向量;
确定所述第一特征数据和所述第一权重向量之间的第一余弦值,以及确定所述第一特征数据和各个所述第二权重向量之间的第二余弦值;
计算所述第一余弦值和预设的角度间隔阈值的差值,得到第一数值;
根据所述第一数值和各个所述第二余弦值,确定训练的第一损失值;
其中,所述第一数值和所述第一损失值负相关,所述第二余弦值和所述第一损失值正相关。
可选地,所述第一处理单元具体用于:
获取预先设定的温度放缩参数;所述温度放缩参数的大小大于1;
通过所述温度放缩参数对所述第一向量进行放缩处理,得到第三向量;
通过柔性最大传递函数对所述第三向量进行归一化处理,得到第二向量。
可选地,所述对象动作分类模型包括第一隐藏层和第二隐藏层;所述第一预测单元具体用于:
将所述第二训练数据输入到所述第一隐藏层,通过所述第一隐藏层对所述第二训练数据进行特征提取,得到第二特征数据;
将所述第二特征数据输入到所述第二隐藏层,通过所述第二隐藏层使用类中心权重参数对所述第二特征数据进行点乘,得到第四向量;其中,所述类中心权重参数中包括多个类中心权重向量,每个所述类中心权重向量和一个所述预定动作类别对应,所述第四向量的维度和所述预定动作类别的个数相同;
通过柔性最大传递函数对所述第四向量进行归一化处理,得到第五向量,将所述第五向量确定为第一预测结果;其中,所述第五向量内的数值元素表示所述对象动作分类模型预测所述样本对象执行对应的所述预定动作类别的第一概率。
可选地,所述第二处理单元具体用于:
确定所述第二特征数据和各个所述类中心权重向量之间的第三余弦值;
根据所述分类概率阈值,确定角度间隔阈值;
计算最大的所述第三余弦值和所述角度间隔阈值的差值,得到第三数值;
根据所述第三数值,确定训练的第二损失值;
其中,所述第三数值和所述第二损失值正相关。
可选地,所述第二处理单元具体用于:
计算各个所述预定动作类别对应的第一概率和所述分类概率阈值之间的差值,得到各个所述预定动作类别对应的第二数值;
若存在大于0的所述第二数值,比较各个所述第二数值的大小,根据最大的第二数值确定所述第二损失值;或者,若所述第二数值均小于或者等于0,确定所述第二损失值的大小为0。
可选地,所述更新单元具体用于:
检测所述训练数据集中所述第一训练数据的第一组数和所述第二训练数据的第二组数;
根据所述第一组数,确定所述第一损失值对应的第一权重,以及根据所述第二组数,确定所述第二损失值对应的第二权重;
根据所述第一权重和所述第二权重,对所述第一损失值和所述第二损失值进行加权求和,得到综合损失值;
根据所述综合损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
另一方面,本申请实施例提供了一种对象动作分类方法,所述方法包括:
获取包含目标对象的目标图像数据;
将所述目标图像数据输入到通过前述对象动作分类模型的训练方法训练得到的对象动作分类模型中,通过所述对象动作分类模型对所述目标图像数据中的所述目标对象执行的动作类别进行预测,得到第三预测结果;所述第三预测结果包括所述对象动作分类模型预测所述目标对象执行各个所述预定动作类别的第三概率;
根据所述第三预测结果,确定所述目标对象执行的目标动作类别。
另一方面,本申请实施例提供了一种对象动作分类装置,所述装置包括:
第二获取单元,用于获取包含目标对象的目标图像数据;
第二预测单元,用于将所述目标图像数据输入到通过前述对象动作分类模型的训练方法训练得到的对象动作分类模型中,通过所述对象动作分类模型对所述目标图像数据中的所述目标对象执行的动作类别进行预测,得到第三预测结果;所述第三预测结果包括所述对象动作分类模型预测所述目标对象执行各个所述预定动作类别的第三概率;
判别单元,用于根据所述第三预测结果,确定所述目标对象执行的目标动作类别。
可选地,所述第二获取单元具体用于:
获取原始图像数据;
对所述原始图像数据进行目标检测,确定出包含所述目标对象的检测框;
根据所述检测框对所述原始图像数据进行裁剪,得到所述目标图像数据。
可选地,所述第二获取单元具体用于:
对每帧所述原始图像数据进行目标检测,得到每帧所述原始图像数据对应的初始检测框;
将获取的所述原始图像数据加入到图像队列中;
检测当前所述图像队列中的图像帧个数,若所述图像帧个数大于或者等于预设个数阈值,按照预定的帧数间隔从所述图像队列中抽取第一个数的原始图像数据,得到第一图像集合;
将当前所述图像队列中处于中间位置的所述原始图像数据对应的初始检测框确定为目标检测框,根据所述目标检测框对所述第一图像集合中的各个所述原始图像数据进行裁剪,得到所述目标图像数据。
可选地,所述判别单元具体用于:
将各个所述预定动作类别对应的第三概率和预设的分类概率阈值进行比较;
若存在大于所述分类概率阈值的第三概率,比较各个所述第三概率的大小,根据最大的第三概率对应的预定动作类别确定目标动作类别;或者,若所述第三概率均小于或者等于所述分类概率阈值,确定所述目标动作类别为未知动作类别。
另一方面,本申请实施例提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储计算机程序;
所述处理器执行所述计算机程序实现前述的对象动作分类模型的训练方法或者对象动作分类方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现前述的对象动作分类模型的训练方法或者对象动作分类方法。
本申请实施例至少包括以下有益效果:本申请提供一种对象动作分类模型的训练方法、装置、设备及介质,获取训练数据集,该训练数据集中包括若干组第一训练数据和若干组第二训练数据,每组第一训练数据中包括样本对象执行预定动作类别的图像,即属于已知动作类别的数据;每组第二训练数据中包括样本对象执行预定动作类别以外的其他图像,即属于未知动作类别的数据。然后使用第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值,并将第二训练数据输入到对象动作分类模型中,得到对象动作分类模型预测样本对象执行各个预定动作类别的第一概率;对于第二训练数据,希望对象动作分类模型不将其分类到任何预定动作类别中,故而可以通过预设的分类概率阈值来判断第一概率是否偏大,确定训练的第二损失值;从而可以根据第一损失值和第二损失值,对对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。本申请中的技术方案,使用开集的策略,通过两类训练数据来训练对象动作分类模型,可以更好地应对包含未知动作类别的对象动作分类应用以及复杂的动作分类场景,能够有效提高训练得到的对象动作分类模型的准确度,有利于实现精准、可靠的对象动作分类应用。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例中提供的一种对象动作分类模型的训练方法的实施环境示意图;
图2为本申请实施例中提供的一种对象动作分类模型的训练方法的流程示意图;
图3为本申请实施例中提供的一种对象动作分类模型预测第二预测结果的原理示意图;
图4为本申请实施例中提供的一种CosFaceLoss损失函数的决策边界示意图;
图5为本申请实施例中提供的一种对象动作分类方法的流程示意图;
图6为本申请实施例中提供的一种确定目标对象执行的目标动作类别的流程示意图;
图7为本申请实施例中提供的一种对象在多帧的图像数据执行某个动作的示意图;
图8为本申请实施例中提供的一种对象动作分类方法的具体实施流程图;
图9为本申请实施例中提供的一种对象动作分类方法中确定目标动作类别的具体实施流程图;
图10为本申请实施例中提供的一种对象动作分类模型的训练装置的结构示意图;
图11为本申请实施例中提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一致的所有实施方式,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”、“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”等,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指多个中的任意一个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在对本申请实施例进行详细说明之前,首先对本申请实施例中涉及的部分名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
2)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,机器学习(深度学习)通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
3)区块链(Blockchain),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链可以包括公有链、联盟链以及私有链,其中,公有链是指任何人均可以随时进入到区块链网络中读取数据、发送数据或竞争记账的区块链;联盟链是指若干组织或机构共同参与管理的区块链;私有链是指存在一定的中心化控制的区块链,私有链的账本的写入权由某个组织或机构控制,数据的访问和使用有严格的权限管理。
当前,随着信息技术和人工智能技术的高速发展,相关的应用已经逐步融入到人们的生活中,为人们提供了各式各样的服务。例如,基于视频图像数据的动作分类识别应用,在近些年受到了广泛的关注,并取得了显著的性能。动作分类一般是指对人体的动作进行识别,它可以通过分析输入的视频、图像或传感器数据,自动识别和分类不同的人体动作,如行走、跑步、跳高等,该项应用在较多行业得到了普及。
相关技术中,一般采用机器学习/深度学习技术实现对象动作的分类识别。通过采集相关的视频图像数据,结合预先设定的多种动作类别进行标注,可以对人工智能模型进行训练,得到用于进行对象动作分类的模型。但是,在实际处理中发现,上述方式仅适用于封闭集条件的情况,即将所有的视频图像数据分类为训练过程中遇到的动作类别,而实际场景中的动作类别是多样化的,可能超出了训练时预定的动作类别范围。因此,通过上述方式训练得到对象动作分类模型,通常会将部分未知动作类别的视频图像数据分类为预定的动作类别,分类的准确度较低。
对于可能存在的未知动作类别的视频图像数据的分类需求,相关技术中,可能采用定义一个“背景”类的动作类别,将不属于预定动作类别的视频图像数据都划分到背景动作类别中。具体地,这种方式在训练对象动作分类模型时,根据动作分类识别的需求,将训练数据中的视频图像数据分别标注预定动作类别和背景动作类别的标签数据,然后使用标注好的视频图像数据来训练对象动作分类模型。这样,对象动作分类模型可以将部分不属于预定动作类别的视频图像数据划分到背景动作类别中,在一定程度上提高了分类的准确度。但是,这种实现方式将所有不属于预定动作类别的视频图像数据均划定为了背景动作类别,而实际情况是不属于预定动作类别的视频图像数据是无穷无尽的,它们之间本身也可能存在极大的差异。因此,在技术原理上,对于背景动作类别的视频图像数据要求类内紧凑性是不正确的,可能会导致对象动作分类模型的精度下降,同样难以取得良好的分类的准确度。
有鉴于此,本申请实施例中提供一种对象动作分类模型的训练方法、装置、设备及介质,获取训练数据集,该训练数据集中包括若干组第一训练数据和若干组第二训练数据,每组第一训练数据中包括样本对象执行预定动作类别的图像,即属于已知动作类别的数据;每组第二训练数据中包括样本对象执行预定动作类别以外的其他图像,即属于未知动作类别的数据。然后使用第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值,并将第二训练数据输入到对象动作分类模型中,得到对象动作分类模型预测样本对象执行各个预定动作类别的第一概率;对于第二训练数据,希望对象动作分类模型不将其分类到任何预定动作类别中,故而可以通过预设的分类概率阈值来判断第一概率是否偏大,确定训练的第二损失值;从而可以根据第一损失值和第二损失值,对对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。本申请中的技术方案,使用开集的策略,通过两类训练数据来训练对象动作分类模型,可以更好地应对包含未知动作类别的对象动作分类应用以及复杂的动作分类场景,能够有效提高训练得到的对象动作分类模型的准确度,有利于实现精准、可靠的对象动作分类应用。
本申请实施例中,还提供了一种对象动作分类方法,可以提高对象动作分类的准确度。
本申请实施例中所提供的对象动作分类模型的训练方法、对象动作分类方法,主要涉及云技术、人工智能、智慧交通、辅助驾驶等各种应用场景。本领域技术人员可以理解的是,本申请实施例中所提供的对象动作分类模型的训练方法、对象动作分类方法,可以在各类应用场景中被执行。具体地,以对象动作分类方法为例:
示例性地,在一些实施例中,本申请实施例中的对象动作分类方法可以应用在运动分析和健康监测的场景中。例如,本申请实施例中的对象动作分类方法可以用于分析和监测运动员的技术动作和姿势,帮助提供实时反馈和指导,以改善运动表现和预防运动损伤。它还可以用于健康监测,通过分析人体的动作来评估和监测个人的健康状况。
示例性地,在一些实施例中,本申请实施例中的对象动作分类方法可以应用在安防的场景中。例如,安防系统可以基于采集到的视频图像数据,使用本申请实施例中的对象动作分类方法自动检测异常或可疑的人体动作,及时发出告警信息,提高安防系统的安全性和防范能力。
示例性地,在一些实施例中,本申请实施例中的对象动作分类方法可以应用在设备交互与控制的场景中。例如,部分的汽车具备有辅助驾驶的功能,使用者可以通过执行某些预定的动作实现对汽车的智能控制。汽车可以通过采集使用者的视频图像数据,使用本申请实施例中的对象动作分类方法实现手势或者姿势的识别,从而触发相应的控制指令,实现汽车的智能交互控制。
示例性地,在一些实施例中,本申请实施例中的对象动作分类方法可以应用在游戏娱乐的场景中。例如,部分游戏软件提供了虚拟现实的功能,玩家可以与虚拟环境进行互动,本申请实施例中的对象动作分类方法可以用于识别人体动作,从而触发相应的游戏业务,可以提高玩家的游玩体验。
可以理解的是,在上述应用场景中应用的对象动作分类方法,均可以使用本申请实施例中提供的对象动作分类模型的训练方法训练得到的对象动作分类模型。因此,本申请实施例中的对象动作分类模型的训练方法也同样可以适用于上述场景,在此不作赘述。并且,以上的应用场景仅起到示例性的作用,并不意味着对本申请实施例中提供的对象动作分类模型的训练方法、对象动作分类方法的实际应用形成限制。本领域技术人员可以理解,在不同应用场景中,都可以利用本申请实施例中提供的对象动作分类模型的训练方法、对象动作分类方法执行指定的任务。
需要补充说明的是,在本申请的各个具体实施方式中,当涉及到需要根据对象的信息、对象的行为数据、对象的历史数据以及对象的位置信息等与对象身份或特性相关的数据进行相关处理时,都会先获得对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取对象的敏感信息时,会通过弹窗或者跳转到确认页面等方式获得对象的单独许可或者单独同意,在明确获得对象的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的对象相关数据。
下面结合附图,对本申请实施例的具体实施方式进行详细说明。首先,结合附图描述本申请实施例中提供的一种对象动作分类模型的训练方法。
请参照图1,图1示出了本申请实施例中提供的一种对象动作分类模型的训练方法的实施环境示意图。在该实施环境中,主要涉及的软硬件主体包括终端设备110、后台服务器120。终端设备110、后台服务器120之间通信连接。
具体地,本申请实施例中提供的对象动作分类模型的训练方法,可以单独在终端设备110侧执行,也可以单独在后台服务器120侧执行,或者基于终端设备110和后台服务器120之间的数据交互来执行。
示例性地,以本申请实施例中提供的对象动作分类模型的训练方法基于终端设备110和后台服务器120之间的数据交互来执行为例,在一些实施例中,终端设备110中可以安装有相关的应用程序,该应用程序可以用于执行本申请实施例中提供的对象动作分类方法,后台服务器120可以是该应用程序的后台服务器。终端设备110可以获取训练数据集,然后将训练数据集传输到后台服务器120;后台服务器120可以配置有初始化的对象动作分类模型,基于训练数据集实现对初始化的对象动作分类模型的训练,得到训练好的对象动作分类模型。然后,后台服务器120可以将训练好的对象动作分类模型的模型文件发送给终端设备110,从而为终端设备110配置对象动作分类的功能。
其中,以上实施例的终端设备110可以包括手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,但并不局限于此。
后台服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,后台服务器120还可以是区块链网络中的一个节点服务器。
终端设备110和后台服务器120之间可以通过无线网络或有线网络建立通信连接。该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(MetropolitanArea Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。并且,上述的这些软硬件主体之间,既可以采用相同的通信连接方式,也可以采用不同的通信连接方式,本申请对此不作具体限制。
当然,可以理解的是,图1中的实施环境只是本申请实施例中提供的对象动作分类模型的训练方法一些可选的应用场景,实际的应用并不固定为图1所示出的软硬件环境。本申请实施例提供的方法可应用于各种技术领域,例如云技术、人工智能、智慧交通、辅助驾驶等领域,本申请对此不作具体限制。
下面,结合上述对实施环境的描述,对本申请实施例中提供的一种对象动作分类模型的训练方法进行详细介绍和说明。
如图2所示,本申请实施例中,提供了一种对象动作分类模型的训练方法,该对象动作分类模型的训练方法可以应用于图1所示的终端设备110或者后台服务器120中。参照图2,本申请实施例中提供的对象动作分类模型的训练方法,具体包括但不限于步骤210至步骤250:
步骤210、获取训练数据集;训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组第一训练数据中包括样本对象执行预定动作类别的图像数据,每组第二训练数据中包括样本对象执行预定动作类别以外的其他图像数据;
本步骤中,在执行本申请实施例中提供的对象动作分类模型的训练方法时,可以获取训练数据集。训练数据集为训练数据的集合,其中可以包括有两类训练数据,分别记为第一训练数据和第二训练数据。具体地,本申请实施例中的训练数据集内包含的第一训练数据可以是一组或者多组,类似地,第二训练数据也可以是一组或者多组,本申请对其具体的数量不作限制。在本步骤中,训练数据集可以从本地获取,也可以从云端获取,本申请实施例对此不作限制。
本申请实施例中,对于其中的一组第一训练数据来说,其可以包括有样本对象执行预定动作类别的图像数据,此处,样本对象可以人,也可以是其他可以执行相关动作的智能设备,例如智能机器人等,本申请对此不作限制。预定动作类别指的是预先设置好的一些已知的动作类别,其可以根据需要灵活设置,对于动作分类应用来说,预定动作类别的个数一般可以是大于等于两个,本申请实施例中,对于预定动作类别的个数和具体的类别不作限制。示例性地,比如说,在一些实施例中,预定动作类别可以包括有四种,分别为“举手”、“鼓掌”、“捂眼”、“转头”。本申请实施例中,在一组第一训练数据内,可以包括有至少一帧的图像数据,这些图像数据是样本对象执行某个预定动作类别过程中的图像数据。可以理解的是,对于某些动作来说,使用单帧的图像数据可能难以做到准确的识别,因此,本申请实施例中的第一训练数据一般可以包括有多帧的图像数据。对于其所包含的图像数据的具体帧数、尺寸、清晰度等参数,本申请不作具体限制。
本申请实施例中,对于其中的一组第二训练数据来说,其可以包括有样本对象执行预定动作类别以外的图像数据。此处,预定动作类别以外的图像数据,指的是样本对象执行不属于预定动作类别的其他动作类别过程中的图像数据。具体的其他动作类别可以根据预定动作类别的情况来区分,对于不同的预定动作类别设置,其他动作类别的情况可以存在差异。示例性地,以前述预定动作类别包括“举手”、“鼓掌”、“捂眼”、“转头”四种为例,样本对象执行“跺脚”、“弯腰”等动作时,即可视为执行了其他动作类别。采集样本对象执行这些其他动作类别过程中的图像数据,可以作为第二训练数据。当然,可以理解的是,本申请实施例中,一组第二训练数据内也可以包括有至少一帧的图像数据,其可以参照第一训练数据来实施,本申请对此不作限制。
需要说明的是,本申请实施例中,对于同一组训练数据,其图像数据内所包含的样本对象最好是同一个,这样可以使得模型更关注于样本对象执行的动作,降低样本对象的差异可能对模型训练造成的干扰。不同的训练数据中,其包含的样本对象可以是相同的,也可以是不同的。示例性地,在一些实施例中,对于两个第一训练数据,它们的图像数据中所包含的样本对象可以是不同的;在一些实施例中,对于一个第一训练数据和一个第二训练数据,它们的图像数据中所包含的样本对象可以是相同的。
需要注意的是,本申请实施例中,在获取训练数据集时,需要确保图像数据获取的合规性,即需要遵循相关的法律法规,保护相关对象的隐私和数据安全性。
步骤220、将第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值;
本步骤中,对于获取得到的训练数据集,可以使用其中的第一训练数据输入到对象动作分类模型中进行训练,确定该训练过程的损失值,记为第一损失值。本申请实施例中,对象动作分类模型可以用于对一组图像数据进行动作的分类识别,即识别出一组图像数据内包含的对象所执行的动作类别。对于本申请实施例中的对象动作分类模型来说,预先为其设定了已知的动作类别,即预定动作类别。对象动作分类模型需要尽可能地将属于预定动作类别的图像数据划分到对应的动作类别中,从而体现出较好的分类性能。
本申请实施例中,对于参与训练的对象动作分类模型的具体结构和使用的分类算法不作限制,其可以参照机器学习/深度学习技术中的任意一种人工智能模型来实现。而且,本申请实施例中进行训练的对象动作分类模型,既可以是处于初始化阶段未参与训练的,也可以是通过其他的训练方法训练过的,本申请对此不作限制。
本步骤中,将第一训练数据输入到对象动作分类模型中进行训练,其过程和常规的训练过程类似,即通过对象动作分类模型对第一训练数据内样本对象的动作进行分类,得到一个预测结果,记为第二预测结果。然后可以评估第二预测结果的准确度,即可得到第一损失值。
步骤230、将第二训练数据输入到对象动作分类模型中,通过对象动作分类模型对第二训练数据中的样本对象执行的动作类别进行预测,得到第一预测结果;第一预测结果包括对象动作分类模型预测样本对象执行各个预定动作类别的第一概率;
本步骤中,还将训练数据集中的第二训练数据输入到对象动作分类模型中,通过对象动作分类模型对第二训练数据中的样本对象执行的动作类别进行预测,得到一个预测结果,记为第一预测结果。具体地,本申请实施例中,第一预测结果的数据格式可以是向量,其中包含有和预定动作类别的个数对应的数值元素,每个数值元素表示对象动作分类模型预测样本对象执行各个预定动作类别的概率,本申请实施例中,将此处的概率记为第一概率,各个第一概率的总和为1。
示例性地,以前述预定动作类别包括“举手”、“鼓掌”、“捂眼”、“转头”四种为例,本申请实施例中,对象动作分类模型输出的第一预测结果的向量维度也将是四维,其中包括有四个数值元素,第一预测结果可以表示为(a,b,c,d),a、b、c、d即为第一概率。其中,a可以表示对象动作分类模型预测样本对象执行“举手”动作类别的概率;b可以表示对象动作分类模型预测样本对象执行“鼓掌”动作类别的概率;c可以表示对象动作分类模型预测样本对象执行“捂眼”动作类别的概率;d可以表示对象动作分类模型预测样本对象执行“转头”动作类别的概率。
可以理解的是,本申请实施例中,通过对象动作分类模型预测第二训练数据中样本对象执行各个预定动作类别的第一概率,如果某个预定动作类别的概率越高,说明对象动作分类模型认为第二训练数据中样本对象执行该预定动作类别的可能性越大;反之,如果某个预定动作类别的概率越低,说明对象动作分类模型认为第二训练数据中样本对象执行该预定动作类别的可能性越小。
本申请实施例中,可以预先设置一个分类概率阈值,当某个预定动作类别对应的第一概率大于分类概率阈值时,可以认为对象动作分类模型判定第二训练数据中的样本对象执行的动作类别为已知动作类别,即属于设定的预定动作类别的一种,此时,将根据对应的第一概率最大的预定动作类别来确定样本对象执行的动作类别。相对地,如果所有的预定动作类别对应的第一概率均小于或者等于分类概率阈值时,可以认为对象动作分类模型判定第二训练数据中的样本对象执行的动作类别为未知动作类别,即不属于设定的预定动作类别的一种,此时,可以将样本对象执行的动作类别确定为未知动作类别。
以上为本申请实施例中基于概率实现样本对象执行的动作类别分类的实施原理,而对于分类概率阈值,其需要满足大于设定的预定动作类别的均值概率,该均值概率可以通过1除以设定的预定动作类别的个数得到。例如,当设置4个预定动作类别时,分类概率阈值需要大于0.25;当设置10个预定动作类别时,分类概率阈值需要大于0.1;本申请实施例中,对于分类概率阈值的具体大小不作限制,其可以根据实际的需要灵活设定。相对来说,当设置的分类概率阈值偏大时,对象动作分类模型更容易将对象执行的动作类别判定为未知动作类别;当设置的分类概率阈值偏小时,对象动作分类模型更容易将对象执行的动作类别判定为已知动作类别。
步骤240、根据第一概率和预设的分类概率阈值,确定训练的第二损失值。
本步骤中,在得到第二训练数据对应的第一预测结果后,可以根据第一预测结果中的第一概率和预设的分类概率阈值,确定针对第二训练数据训练的损失值,本申请实施例中,将该损失值记为第二损失值。基于前面的描述可以得知,本申请实施例中,在得到第一概率后,可以基于第一概率和预设的分类概率阈值之间的关系,确定第二训练数据中的样本对象执行的动作类别。而对于第二训练数据来说,其中样本对象执行的动作类别的真实情况对于对象动作分类模型应当属于未知动作类别,也即理想情况下(或者说对象动作分类模型训练优化的目标),希望对象动作分类模型对于第二训练数据预测得到的第一预测结果最终将判定第二训练数据中的样本对象执行的动作类别为未知动作类别。进一步地,即希望第一预测结果中的各个第一概率均小于或者等于分类概率阈值。
如前述的,本申请实施例中,对于第二训练数据,训练优化的目标是使得第一预测结果中的各个第一概率均小于或者等于分类概率阈值。因此,可以根据第一概率和分类概率阈值的大小来确定针对第二训练数据训练的第二损失值。可以理解的是,如果当前预测得到的第二训练数据的第一预测结果符合各个第一概率均小于或者等于分类概率阈值的情况,那么可以确定该第二训练数据对应的损失值为一个较小值,比如说可以确定为0。相对地,如果当前预测得到的第二训练数据的第一预测结果不符合各个第一概率均小于或者等于分类概率阈值的情况,那么可以确定该第二训练数据对应的损失值为一个较大值,比如说可以确定为一个大于0的数值,对于具体的数值大小,本申请不作限制。
当然,本申请实施例中,如果当前预测得到的第二训练数据的第一预测结果不符合各个第一概率均小于或者等于分类概率阈值的情况,还可以根据具体出现第一概率大于分类概率阈值的幅度来确定该第二训练数据对应的第二损失值,若第二训练数据的第一预测结果中,大于分类概率阈值的第一概率超出分类概率阈值的幅度较小,可以确定该第二训练数据对应的第二损失值为一个大于0但偏小的数值;若第二训练数据的第一预测结果中,大于分类概率阈值的第一概率超出分类概率阈值的幅度较大,则可以确定该第二训练数据对应的第二损失值为一个大于0且偏大的数值。对于具体的第二损失值的数值大小,可以根据实际的需求灵活设定相关的函数关系式来求取,本申请对此不作限制。
步骤250、根据第一损失值和第二损失值,对对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
本步骤中,在得到第一损失值和第二损失值后,可以根据这两个损失值实现对象动作分类模型的参数更新,进而得到训练好的对象动作分类模型。
具体地,本申请实施例中,可以对第一损失值和第二损失值进行加权求和,得到综合损失值,根据综合损失值,通过反向传播算法来对对象动作分类模型的参数进行更新。此处,在对第一损失值和第二损失值进行加权求和时,二者对应的加权权重可以根据需要灵活设置,示例性地,在一些实施例中,第一损失值和第二损失值可以对应相同的加权权重;在一些实施例中,可以先检测训练数据集中第一训练数据和第二训练数据的组数,将第一训练数据的组数记为第一组数,将第二训练数据的组数记为第二组数。然后可以根据第一组数确定第一损失值对应的权重,根据第二组数确定第二损失值对应的权重,将第一训练数据对应的加权权重记为第一权重,将第二训练数据对应的加权权重记为第二权重。每类训练数据对应的加权权重和它的组数呈正比例,两者的加权权重之和为1。
需要说明的是,对于人工智能模型来说,它预测的准确度可以通过损失函数(LossFunction)来衡量,损失函数是定义在单个(组)训练数据上的,用于衡量一个训练数据的预测误差。而实际训练时,一个训练数据集有很多训练数据,比如本申请实施例中包括有多组的第一训练数据和第二训练数据。因此,一般采用代价函数(Cost Function)来衡量训练数据集的整体误差,代价函数是定义在整个训练数据集上的,用于计算所有训练数据的预测误差的平均值,能够更好地衡量出模型的预测效果。本申请实施例中,在确定第一损失值时,可以先计算出所有第一训练数据对应的第一损失值,然后对它们求取平均值,得到第一训练数据整体对应的第一损失值,后续在对对象动作分类模型进行参数更新时,可以使用第一训练数据整体对应的第一损失值。类似地,对于第二损失值,也可以采用相同的方式进行处理,使用第二训练数据整体对应的第二损失值对对象动作分类模型进行参数更新。
本申请实施例中,对于对象动作分类模型的参数更新,可以采用循环迭代的方式进行。即更新一轮对象动作分类模型的参数后,继续使用更新参数后的对象动作分类模型进行预测,确定出新的损失值,然后再次更新对象动作分类模型的参数。如此循环往复,直至满足预先设定的训练结束的条件,可以认为训练完成,得到训练好的对象动作分类模型。
本申请实施例中,对于训练结束的条件,可以根据需求灵活设置。例如,在一些实施例中,可以设定训练循环迭代的目标轮次作为训练结束的条件,当对象动作分类模型的参数的更新轮次达到目标轮次时,可以认为训练完成;在一些实施例中,可以设定相邻两次训练过程中得到的综合损失值的差值阈值作为训练结束的条件,当更新一轮对象动作分类模型的参数后,计算本轮训练过程中得到的综合损失值和上一轮次训练过程中得到的综合损失值之间的差值绝对值,如果该差值绝对值大于设定的差值阈值,则继续迭代训练;如果该差值绝对值小于或者等于设定的差值阈值,则可以认为训练完成。当然,以上仅为本申请实施例中一些可选的训练结束的条件设置方式的示例性介绍,并不意味着对实际实施时的情况进行限制。
可以理解的是,本申请实施例中提供的对象动作分类模型的训练方法,获取训练数据集,该训练数据集中包括若干组第一训练数据和若干组第二训练数据,每组第一训练数据中包括样本对象执行预定动作类别的图像,即属于已知动作类别的数据;每组第二训练数据中包括样本对象执行预定动作类别以外的其他图像,即属于未知动作类别的数据。然后使用第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值,并将第二训练数据输入到对象动作分类模型中,得到对象动作分类模型预测样本对象执行各个预定动作类别的第一概率;对于第二训练数据,希望对象动作分类模型不将其分类到任何预定动作类别中,故而可以通过预设的分类概率阈值来判断第一概率是否偏大,确定训练的第二损失值;从而可以根据第一损失值和第二损失值,对对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。本申请中的技术方案,使用开集的策略,通过两类训练数据来训练对象动作分类模型,可以更好地应对包含未知动作类别的对象动作分类应用以及复杂的动作分类场景,能够有效提高训练得到的对象动作分类模型的准确度,有利于实现精准、可靠的对象动作分类应用。
具体地,在一种可能的实现方式中,训练数据集中还包括第一训练数据对应的标签数据,标签数据用于表征第一训练数据中的样本对象执行的动作类别的真实结果;将第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值,包括:
将第一训练数据输入到对象动作分类模型中,通过对象动作分类模型对第一训练数据中的样本对象执行的动作类别进行预测,得到第二预测结果;第二预测结果包括对象动作分类模型预测样本对象执行各个预定动作类别的第二概率;
根据标签数据和第二预测结果,确定训练的第一损失值。
在前述实施例中,介绍了将第二训练数据输入到对象动作分类模型,得到第一预测结果的具体形式。对于对象动作分类模型来说,其并不区分第一训练数据和第二训练数据,输出的预测结果的形式是一致的。因此,本申请实施例中,在使用第一训练数据进行训练时,将第一训练数据输入到对象动作分类模型,也可以得到一个和第一预测结果形式相同的预测结果,本申请实施例中,将其记为第二预测结果。第二预测结果中包括有对象动作分类模型预测第一训练数据的样本对象执行各个预定动作类别的概率,将该概率记为第二概率。第二预测结果、第二概率所表征的含义以及后续根据第二概率确定第一训练数据的样本对象执行的动作类别的方式,可以参照前述实施例中对于第二训练数据的预测处理过程进行实施,在此不作赘述。
本申请实施例中,在训练数据集中可以包括有第一训练数据对应的标签数据,该标签数据可以用于表征第一训练数据中的样本对象执行的动作类别的真实结果。对于标签数据的具体数据格式,本申请不作限制,其可以包括数字、向量、矩阵或者张量中的至少一种。示例性地,在一些实施例中,标签数据的数据形式可以是数值,比如说以前述预定动作类别包括“举手”、“鼓掌”、“捂眼”、“转头”四种为例,标签数据可以是数值0、数值1、数值2或者数值3,每个数值对应一种预定动作类别;在一些实施例中,标签数据的数据形式可以是向量,如可以是向量(1,0,0,0)、(0,1,0,0)、(0,0,1,0)或者(0,0,0,1),类似地,每个向量可以对应一种预定动作类别。对于数值、向量和具体的预定动作类别的对应关系,本申请不作限制。当然,需要说明的是,为了方便确定第一损失值,一般来说,可以设置标签数据和预测结果的数据格式相统一,因此,本申请实施例中,可以选择设置向量形式的标签数据。
本申请实施例中,在得到第一训练数据对应的第二预测结果后,可以使用标签数据来确定该第一训练数据对应的第一损失值。具体地,可以理解的是,标签数据表征的是第一训练数据中样本对象执行的动作类别的真实结果,第二预测结果则包括对象动作分类模型预测样本对象执行各个预定动作类别的第二概率,根据真实结果和预测结果之间的差异,可以评估对象动作分类模型的预测精度,从而确定出第一损失值。此处,可以选取损失函数来根据标签数据和第二预测结果计算第一损失值。常用的损失函数种类有很多,例如0-1损失函数、平方损失函数、绝对损失函数、对数损失函数、交叉熵损失函数等,均可以作为人工智能模型的损失函数,在此不再一一阐述,本申请实施例中,对于具体使用的损失函数类型不作限制。
具体地,在一种可能的实现方式中,对象动作分类模型包括第一隐藏层和第二隐藏层;将第一训练数据输入到对象动作分类模型中,通过对象动作分类模型对第一训练数据中的样本对象执行的动作类别进行预测,得到第二预测结果,包括:
将第一训练数据输入到第一隐藏层,通过第一隐藏层对第一训练数据进行特征提取,得到第一特征数据;
将第一特征数据输入到第二隐藏层,通过第二隐藏层使用类中心权重参数对第一特征数据进行点乘,得到第一向量;其中,类中心权重参数中包括多个类中心权重向量,每个类中心权重向量和一个预定动作类别对应,第一向量的维度和预定动作类别的个数相同;
通过柔性最大传递函数对第一向量进行归一化处理,得到第二向量,将第二向量确定为第二预测结果;其中,第二向量内的数值元素表示对象动作分类模型预测样本对象执行对应的预定动作类别的第二概率。
参照图3,图3为本申请实施例中提供的一种对象动作分类模型预测第二预测结果的原理示意图。本申请实施例中的对象动作分类模型,可以包括有输入层、隐藏层和输出层,其中,输入层用于输入数据,输出层用于输出结果,隐藏层用于对输入的数据进行处理,以得到输出的结果。具体地,参照图3,本申请实施例的对象动作分类模型中,隐藏层可以包括有第一隐藏层310和第二隐藏层320,其中,第一隐藏层310的数量可以是一个或者多个,第一隐藏层310可以用于提取输入数据的特征,得到特征数据,并且可以对特征数据进行相应的处理,第一隐藏层310具体可以是卷积层、池化层、激活层等,本申请中对于第一隐藏层310的数量和它们之间的连接关系不作限制;第二隐藏层320可以是全连接层,其可以将第一隐藏层310处理得到的特征数据映射为分类输出。当然,可以理解的是,本申请实施例中的对象动作分类模型还可以包括有其他的隐藏层,本申请对其具体的位置和作用不作限制。
本申请实施例中,对于图3所示出的对象动作分类模型,以对第一训练数据的处理过程为例说明其实现分类预测的原理。将第一训练数据输入到对象动作分类模型的第一隐藏层,通过第一隐藏层可以对第一训练数据进行特征提取处理,将得到的特征数据记为第一特征数据。然后,可以将第一特征数据输入到第二隐藏层,第二隐藏层为全连接层,其中包括有类中心权重参数,可以对第一特征数据进行点乘,点乘结果为一个向量,本申请实施例中,将其记为第一向量。此处,类中心权重参数的数据形式为一个矩阵,其中包括有多个类中心权重向量,每个类中心权重向量和一个预定动作类别对应,类中心权重向量可以和第一特征数据进行点乘,得到的数值元素为原始的输出结果。因此,每个类中心权重向量和第一特征数据点乘后,可以得到一个数值元素,这些数值元素构成了第一向量,第一向量的维度和预定动作类别的个数相同,且每个数值元素的大小实际代表了对象动作分类模型预测其中的样本对象执行对应预定动作类别的可能性大小。
示例性地,比如说,对象动作分类模型的预定动作类别为10,当前得到的第一特征数据为向量,其大小为320维,全连接层的类中心权重参数的大小为320×10。那么可以将全连接层的类中心权重参数拆分成10个320维的类中心权重向量,每个类中心权重向量和第一特征数据点乘,可以得到第一向量中的一个数值元素,从而输出一个10维的第一向量。
需要说明的是,得到的第一向量中,其数值元素的大小虽然代表了对象动作分类模型预测其中的样本对象执行对应预定动作类别的可能性大小,但是数值元素可能是远远大于1的,并不适宜直接作为预测结果中的概率来输出。一般来说,可以使用柔性最大传递函数(softmax)对第一向量进行归一化处理,得到第二向量,然后将第二向量确定为预测结果,也就是第二预测结果。具体地,柔性最大传递函数的公式可以表示为:
,
柔性最大传递函数可以将待处理的向量中的数值元素压缩到0到1之间,并且使得处理后得到的向量内所有的数值元素之和为1。上式中,k表示待处理的向量内的数值元素编号,Q表示待处理的向量内的数值元素总个数,xk表示待处理的向量中第k个数值元素。通过柔性最大传递函数处理后,第二向量内的各个数值元素即为第二概率。
具体地,在一种可能的实现方式中,根据标签数据和第二预测结果,确定训练的第一损失值,包括:
根据标签数据中动作类别的真实结果,从类中心权重向量中确定对应的第一权重向量,并将类中心权重向量中除第一权重向量以外的类中心权重向量确定为第二权重向量;
确定第一特征数据和第一权重向量之间的第一余弦值,以及确定第一特征数据和各个第二权重向量之间的第二余弦值;
计算第一余弦值和预设的角度间隔阈值的差值,得到第一数值;
根据第一数值和各个第二余弦值,确定训练的第一损失值;
其中,第一数值和第一损失值负相关,第二余弦值和第一损失值正相关。
本申请实施例中,在根据标签数据和第二预测结果确定第一损失值时,可以使用损失函数large margin cosine loss(也叫CosFaceLoss)。该损失函数将数值约束问题转换为了角度约束问题。具体地,基于前面的描述可以得知,第二预测结果中的第二概率,实际是通过第一向量中的数值元素使用柔性最大传递函数归一化得到,而第一向量中的数值元素,则是通过类中心权重向量和第一特征数据点乘得到的。示例性地,以对象动作分类模型的预定动作类别为10为例,假设当前标签数据表征第一训练数据中的样本对象执行的动作类别的真实结果是第一类动作类别,标签数据具体为(1,0,0,0,0,0,0,0,0,0)。在预测第二预测结果时,希望其第一类动作类别对应的第二概率尽可能的大,越接近1说明对象动作分类模型的预测效果越好,反之,越小于1则说明对象动作分类模型的预测效果越差。第一类动作类别对应的第二概率尽可能的大,也就是需要使得第一向量中第一位的数值元素尽可能大,本申请实施例中,可以从类中心权重向量中确定对应的第一权重向量,即和第一特征数据点乘得到第一向量中第一位的数值元素的类中心权重向量,该类中心权重向量的值和第一类动作类别对应的第二概率相关,除第一权重向量以外的类中心权重向量可以确定为第二权重向量。
可以理解的是,在向量进行点乘时,得到的数值结果和向量的模以及向量之间的余弦值相关,而在进行对象动作分类时,对于一个第二训练数据,其第一特征数据是固定的,预测结果在原理上实际仅依赖于第一特征数据,类中心权重参数对预测结果没有贡献。因此,实际上第一向量中数值元素的大小取决于第一特征数据和类中心权重向量之间的余弦值大小,第一特征数据和某个类中心权重向量之间的余弦值越大,说明对象动作分类模型更倾向于认为第二预测结果为该类中心权重向量对应的预定动作类别。
基于上述原理性的描述,本申请实施例中,确定出和真实结果对应的第一权重向量,以及其他的和真实结果不对应的第二权重向量后,可以计算第一特征数据和第一权重向量之间的余弦值,记为第一余弦值,以及计算第一特征数据和第二权重向量之间的余弦值,记为第二余弦值。可以理解的是,第一余弦值越大,其他的第二余弦值越小,说明当前对象动作分类模型更倾向输出和真实结果相近的第二预测结果,对象动作分类模型的性能越好;反之,第一余弦值越小,其他的第二余弦值越大,说明当前对象动作分类模型更倾向输出和真实结果不符的第二预测结果,对象动作分类模型的性能越差。因此,本申请实施例中,可以通过该规则来确定第二训练数据对应的第一损失值。具体地,本申请实施例中可以采用的损失函数可以表示为:
式中,Llmc表示第一损失值;N表示第一训练数据的个数,i表示第一训练数据的编号,yi表示第i个第一训练数据对应真实的动作类别的编号;s表示和第一特征数据相关的数值参数,j表示预定动作类别的编号;表示第i个第一训练数据对应的第一余弦值,m表示角度间隔阈值,/>表示第i个第一训练数据对应第j个的第二余弦值。
在上述的损失函数中,还设置了一个角度间隔阈值,设置该角度间隔阈值的目的是为了使得对象动作分类模型将和第一权重向量接近的一定范围内的第一特征数据划分到第一权重向量对应的预定动作类别中。根据第一余弦值和角度间隔阈值的差,可以确定第一数值,第一数值和第一损失值负相关,第二余弦值和第一损失值正相关。
具体地,请参照图4,图4示出了本申请实施例中提供的一种CosFaceLoss损失函数的决策边界示意图。图4中的决策空间内,包括了一个类中心权重向量410,在对第一训练数据进行分类预测时,得到的第一特征数据可以映射到决策空间中,通过计算第一特征数据和类中心权重向量410之间的余弦值,也即判断二者的角度差,可以判定是否将第一训练数据划分到类中心权重向量410对应的预定动作类别。可以理解的是,通过设置角度间隔阈值,可以调整类中心权重向量410对应划分区域420的大小,从而将和类中心权重向量410接近的一定范围内的第一特征数据划分到类中心权重向量410对应的预定动作类别中。本申请实施例中,角度间隔阈值越大,也就约束了样本越不容易被划分到预定动作类别中,即分类概率阈值越大。因此,角度间隔阈值的大小和前述分类概率阈值的大小是正相关的关系,对于二者具体的函数关系和角度间隔阈值的大小,本申请不作限制。
可以理解的是,本申请实施例中,通过上述的方式确定第一损失值,可以约束各个预定动作类别的类内紧凑性,从而有利于提高对象动作分类模型对预定动作类别的分类准确度。
具体地,在一种可能的实现方式中,通过柔性最大传递函数对第一向量进行归一化处理,得到第二向量,包括:
获取预先设定的温度放缩参数;温度放缩参数的大小大于1;
通过温度放缩参数对第一向量进行放缩处理,得到第三向量;
通过柔性最大传递函数对第三向量进行归一化处理,得到第二向量。
需要说明的是,柔性最大传递函数在分类应用中,可能会存在过置信的问题,比如说预测结果中概率之间的差异较大,某些概率的数值相对来说偏大。如此,可能导致预设的分类概率阈值无法有效区分出未知动作类别的情况。为了解决这个问题,本申请实施例中,可以设置温度放缩参数。具体地,以第一训练数据的处理为例,温度放缩参数可以在使用柔性最大传递函数进行归一化处理前,先对输入的第一向量进行放缩处理,得到的向量记为第三向量,放缩处理仅仅改变了第一向量内数值元素的大小,对它们之间的比例关系没有变动。然后,再使用柔性最大传递函数对第三向量进行归一化处理,得到第二向量作为第二预测结果。
本申请实施例中,预设的温度放缩参数大于1,通过第一向量缩小温度放缩参数的倍数,第一向量内的数值元素被缩小,使用柔性最大传递函数处理后,得到的各个第二概率将更为平坦均衡,可以有效缓解过置信的问题,方便后续使用分类概率阈值有效区分出未知动作类别,可以提高对象动作分类模型的精度。
可以理解的是,在上述的实施例中,以对象动作分类模型对第一训练数据的分类预测为例,对涉及的相关技术原理和细节进行了介绍,上述实施例中的内容,也同样适用于第二训练数据的处理。
具体地,在一种可能的实现方式中,对象动作分类模型包括第一隐藏层和第二隐藏层;将第二训练数据输入到对象动作分类模型中,通过对象动作分类模型对第二训练数据中的样本对象执行的动作类别进行预测,得到第一预测结果,包括:
将第二训练数据输入到第一隐藏层,通过第一隐藏层对第二训练数据进行特征提取,得到第二特征数据;
将第二特征数据输入到第二隐藏层,通过第二隐藏层使用类中心权重参数对第二特征数据进行点乘,得到第四向量;其中,类中心权重参数中包括多个类中心权重向量,每个类中心权重向量和一个预定动作类别对应,第四向量的维度和预定动作类别的个数相同;
通过柔性最大传递函数对第四向量进行归一化处理,得到第五向量,将第五向量确定为第一预测结果;其中,第五向量内的数值元素表示对象动作分类模型预测样本对象执行对应的预定动作类别的第一概率。
本申请实施例中,上述的对象动作分类模型的结构和预测的实现原理流程,也同样适用于第二训练数据。具体地,可以将第二训练数据输入到对象动作分类模型的第一隐藏层,通过第一隐藏层可以对第二训练数据进行特征提取处理,将得到的特征数据记为第二特征数据。然后,可以将第二特征数据输入到第二隐藏层,类似地,第二隐藏层中包括有类中心权重参数,可以对第二特征数据进行点乘,点乘结果为一个向量,本申请实施例中,将其记为第四向量。此处,类中心权重参数的数据形式为一个矩阵,其中包括有多个类中心权重向量,每个类中心权重向量和一个预定动作类别对应,类中心权重向量可以和第二特征数据进行点乘,得到的数值元素为原始的输出结果。因此,每个类中心权重向量和第二特征数据点乘后,可以得到一个数值元素,这些数值元素构成了第四向量,第四向量的维度和预定动作类别的个数相同,且每个数值元素的大小实际代表了对象动作分类模型预测其中的样本对象执行对应预定动作类别的可能性大小。
接着,可以通过柔性最大传递函数(softmax)对第四向量进行归一化处理,得到第五向量,然后将第五向量确定为预测结果,也就是第一预测结果。第五向量中的各个数值元素,实际上就是第一预测结果中对象动作分类模型预测样本对象执行对应的预定动作类别的第一概率,通过柔性最大传递函数(softmax)对第四向量进行归一化处理,可以将这些数值元素的大小约束到0到1之间,从而适用于表征概率的具体数值。
具体地,在一种可能的实现方式中,根据第一概率和预设的分类概率阈值,确定训练的第二损失值,包括:
确定第二特征数据和各个类中心权重向量之间的第三余弦值;
根据分类概率阈值,确定角度间隔阈值;
计算最大的第三余弦值和角度间隔阈值的差值,得到第三数值;
根据第三数值,确定训练的第二损失值;
其中,第三数值和第二损失值正相关。
本申请实施例中,在确定第二损失值时,在一些情况下,可以计算第二特征数据和各个类中心权重向量之间的余弦值,记为第三余弦值。并且,如前面所描述的,角度间隔阈值的大小和分类概率阈值的大小是正相关的关系,故而可以根据预设的分类概率阈值,确定出对应的角度间隔阈值。
本申请实施例中,对于得到的第三余弦值,它们的大小和当前对象动作分类模型预测第二训练数据中的对象执行对应的预定动作类别的第一概率正相关。从中可以确定出最大的第三余弦值,然后计算它和角度间隔阈值的差值,得到的数值记为第三数值。可以理解的是,如果第三数值为正值,则说明当前对象动作分类模型预测第二训练数据中的对象执行的动作类别为已知动作类别;如果第三数值为负值,则说明当前对象动作分类模型预测第二训练数据中的对象执行的动作类别为未知动作类别。因此,第三数值的大小越大,说明对象动作分类模型预测第二训练数据中的对象执行的动作类别出错的可能性越大,模型性能越差,故而可以根据第三数值来确定第二损失值,两者的大小为负相关。对于第三数值和第二损失值之间具体的函数关系,本申请不作限制。
可以理解的是,本申请实施例中,通过上述的方式确定第二损失值,可以使得已知动作类别和未知动作类别的类间距离尽可能较大,从而有利于提高对象动作分类模型对预定动作类别和未知动作类别的分类准确度。
具体地,在一种可能的实现方式中,根据第一概率和预设的分类概率阈值,确定训练的第二损失值,包括:
计算各个预定动作类别对应的第一概率和分类概率阈值之间的差值,得到各个预定动作类别对应的第二数值;
若存在大于0的第二数值,比较各个第二数值的大小,根据最大的第二数值确定第二损失值;或者,若第二数值均小于或者等于0,确定第二损失值的大小为0。
本申请实施例中,在根据第一概率和预设的分类概率阈值,确定训练的第二损失值时,可以计算各个预定动作类别的第一概率和分类概率阈值之间的差值,得到各个预定动作类别对应的第二数值。参照前述步骤230中对本申请实施例的对象动作分类模型基于概率实现样本对象执行的动作类别分类的实施原理,可以理解的是,当出现第二数值大于0的情况时,对象动作分类模型将根据对应的第一概率最大的预定动作类别来确定样本对象执行的动作类别;当第二数值均小于0时,对象动作分类模型判定第二训练数据中的样本对象执行的动作类别为未知动作类别。因此,本申请实施例中,若存在大于0的第二数值,则可以比较第二数值的大小,根据最大的第二数值确定第二损失值,例如可以直接将最大的第二数值确定为第二损失值。若第二数值均小于或者等于0,可以确定第二损失值的大小为0。
具体地,以设定10个预定动作类别为例,该损失函数的原理可以表示为:
式中,Lbg表示第二损失值,margin表示分类概率阈值,xbg表示第二训练数据对应的特征数据,W0表示第1个预定动作类别对应的类中心权重向量,W9表示第10个预定动作类别对应的类中心权重向量。上式的含义即通过柔性最大传递函数softmax的处理,可以得到各个预定动作类别对应的第一概率,每个第一概率减去分类概率阈值,得到第二数值。将各个第二数值和0做比较,选择0和各个第二数值中最大者确定为第二训练数据对应的第二损失值。
参照图5,本申请实施例中,还提供了一种对象动作分类方法。图5示出了本申请实施例中提供的一种对象动作分类方法的流程示意图。类似地,该对象动作分类方法可以应用于图1所示的终端设备110或者后台服务器120中。参照图5,本申请实施例中提供的对象动作分类方法,具体包括但不限于步骤510至步骤530:
步骤510、获取包含目标对象的目标图像数据;
步骤520、将目标图像数据输入到通过对象动作分类模型的训练方法训练得到的对象动作分类模型中,通过对象动作分类模型对目标图像数据中的目标对象执行的动作类别进行预测,得到第三预测结果;第三预测结果包括对象动作分类模型预测目标对象执行各个预定动作类别的第三概率;
步骤530、根据第三预测结果,确定目标对象执行的目标动作类别。
本申请实施例中,对于训练好的对象动作分类模型,可以使用其实现视频图像中对象的动作类别的分类识别。具体地,在对对象动作进行分类识别时,可以获取需要识别的图像数据,该图像数据可以记为目标图像数据,目标图像数据中包含有需要识别动作类别的对象,将该对象记为目标对象。此处,目标对象以及目标图像数据的含义和实现方式可以参照前述训练过程中的样本对象、训练数据来实施,在此不作赘述。
本申请实施例中,将目标图像数据输入到前述实施例训练好的对象动作分类模型中,可以使用对象动作分类模型对目标图像数据中的目标对象执行的动作类别进行预测,得到一个预测结果,记为第三预测结果。第三预测结果中包括有对象动作分类模型预测目标对象执行各个预定动作类别的概率,记为第三概率。类似地,第三预测结果、第三概率的含义和实施方式可以参照前述训练过程中的预测结果和概率来实施。
然后,基于得到的第三预测结果,可以确定出目标对象执行的动作类别,记为目标动作类别。具体地,参照图6,在一种可能的实现方式中,根据第三预测结果,确定目标对象执行的目标动作类别,包括:
步骤531、将各个预定动作类别对应的第三概率和预设的分类概率阈值进行比较;
步骤532、若存在大于分类概率阈值的第三概率,比较各个第三概率的大小,根据最大的第三概率对应的预定动作类别确定目标动作类别;或者,若第三概率均小于或者等于分类概率阈值,确定目标动作类别为未知动作类别。
本申请实施例中,在得到第三预测结果后,可以根据预先设置的分类概率阈值来确定目标动作类别。具体地,可以将第三预测结果中各个预定动作类别对应的第三概率和预设的分类概率阈值进行比较,当某个预定动作类别对应的第三概率大于分类概率阈值时,可以认为对象动作分类模型判定目标图像数据中的目标对象执行的动作类别为已知动作类别,即属于设定的预定动作类别的一种,此时,将根据对应的第三概率最大的预定动作类别来确定目标对象执行的目标动作类别。相对地,如果所有的预定动作类别对应的第三概率均小于或者等于分类概率阈值时,可以认为对象动作分类模型判定目标图像数据中的目标对象执行的动作类别为未知动作类别,即不属于设定的预定动作类别的一种,此时,可以将目标对象执行的目标动作类别确定为未知动作类别。
具体地,在一种可能的实现方式中,获取包含目标对象的目标图像数据,包括:
获取原始图像数据;
对原始图像数据进行目标检测,确定出包含目标对象的检测框;
根据检测框对原始图像数据进行裁剪,得到目标图像数据。
本申请实施例中,在获取目标图像数据时,在一些实施例中,可以先采集包含目标对象的原始图像数据。在原始图像数据中,可能还包含有和目标对象无关的其他图像内容,为了提高对象动作分类模型识别的准确度,本申请实施例中可以对原始图像数据进行相应的预处理,得到目标图像数据。
具体地,本申请实施例中,可以对原始图像数据进行目标检测。此处,目标检测是计算机视觉中的一个重要任务,旨在从图像或视频中确定出目标对象的位置和类别,其可以采用机器学习/深度学习的分类方式来检测,或者使用语义分割的方式来检测,具体可以使用相关的人工智能模型来实现。例如可以采用SVM(支持向量机)、决策树、随机森林、卷积神经网络等,本申请对此不作限制。通过目标检测,可以确定出包含目标对象的检测框,后续可以使用该检测框来对原始图像数据进行裁剪,从而得到目标图像数据。
具体地,在一种可能的实现方式中,对原始图像数据进行目标检测,确定出包含目标对象的检测框;根据检测框对原始图像数据进行裁剪,得到目标图像数据,包括:
对每帧原始图像数据进行目标检测,得到每帧原始图像数据对应的初始检测框;
将获取的原始图像数据加入到图像队列中;
检测当前图像队列中的图像帧个数,若图像帧个数大于或者等于预设个数阈值,按照预定的帧数间隔从图像队列中抽取第一个数的原始图像数据,得到第一图像集合;
将当前图像队列中处于中间位置的原始图像数据对应的初始检测框确定为目标检测框,根据目标检测框对第一图像集合中的各个原始图像数据进行裁剪,得到目标图像数据。
本申请实施例中,在一些应用场景中,可能存在有连续的多张原始图像数据,比如说原始图像数据来源于整段的视频数据。在对这类应用进行对象动作分类时,可以按照顺序依次获取每帧的原始图像数据,然后对其进行目标检测,得到的检测框可以记为初始检测框。然后,将获取的原始图像数据加入到一个图像队列中,本申请实施例中,可以基于图像对列来生成目标图像数据,从而实现对目标对象的动作分类识别。
可以理解的是,目标对象在执行某些动作时,可能需要多帧的目标图像数据来进行分类识别,因此,需要获取到多帧的目标图像数据。但是,对于连续的多帧原始图像数据来说,相邻几帧的原始图像数据中目标对象的动作可能差异较小,如果将这些连续的原始图像数据都作为目标图像数据,可能会导致消耗的计算资源较大,增加了处理成本。本申请实施例中,可以预先设置一个预设个数阈值,通过预设个数阈值来约束输入到对象动作分类模型中的目标图像数据具体包含的图像帧个数,确保可以提取得到多帧的目标图像数据。在获取目标图像数据时,可以检测当前的图像队列中的图像帧个数,将其和预设个数阈值进行比较,如果图像帧个数小于预设个数阈值,则可以继续获取原始图像数据。如果图像帧个数大于或者等于预设个数阈值,则可以开始提取目标图像数据。具体地,可以从当前的图像队列中,按照预定的帧数间隔抽取第一个数的原始图像数据,得到第一图像集合,此处,通过预定的帧数间隔抽取,既可以降低数据处理量,也能够尽可能地提取出目标对象动作变化过程中涉及的关键图像帧。本申请实施例中,对于预设个数阈值、帧数间隔和第一个数的大小不作限制,其可以根据需要灵活设置。
本申请实施例中,在得到第一图像集合后,可以将当前图像队列中处于中间位置的原始图像数据对应的初始检测框确定为目标检测框。此处,确定目标检测框是为了方便后续提取相同位置和区域的图像数据作为目标图像数据,有利于提高对象动作分类模型的检测精度。选择图像队列中处于中间位置的原始图像数据对应的初始检测框为目标检测框,是因为处于中间位置的原始图像数据处于目标对象执行动作的中间时刻,其位置比较有代表性。接着,可以通过目标检测框来对第一图像集合中的各个原始图像数据进行裁剪,即可得到第一个数的目标图像数据。
下面,结合具体的应用实施流程,对本申请中提供的对象动作分类模型的训练方法、对象动作分类方法进行详细介绍和说明。
本申请实施例中的对象动作分类模型的训练方法、对象动作分类方法,可以应用于视频图像数据中的对象动作分类识别应用中。参照图7,图7示出了一种对象在多帧的图像数据执行某个动作的示意图。这些多帧图像数据中的动作,既可以被视为一个动作类别,也可以被视为多个动作类别,其可以根据具体的场景需求来设置,本申请对此不作限制。本申请实施例中的对象动作分类模型的训练方法、对象动作分类方法,可以应用于运动分析和健康监测场景、安防场景、设备交互与控制场景、游戏娱乐场景中,但并不局限于此。
示例性地,比如说在游戏娱乐的场景中,可以预先设定一些预定动作类别,玩家可以与虚拟环境进行互动,执行某些动作,通过相关的设备采集玩家的图像数据,然后使用本申请实施例中提供的对象动作分类方法对图像数据进行识别,从而触发对应的游戏业务逻辑。具体地,比如说,当前设定的预定动作类别包括四种,分别为“举手”、“鼓掌”、“捂眼”、“转头”,玩家执行这四种动作时,可以触发不同的游戏业务逻辑;玩家执行其他类别的动作时,则不触发游戏业务逻辑,或者通知玩家重新执行预定动作类别的动作。本申请实施例中,可以训练出对应能够识别这些预定动作类别以及其他未知动作类别的对象动作分类模型。
具体地,本申请实施例中,可以获取训练数据集,该训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组第一训练数据内包括的是样本对象执行“举手”、“鼓掌”、“捂眼”、“转头”动作的图像数据,而每组第二训练数据内包括的是样本对象执行除了“举手”、“鼓掌”、“捂眼”、“转头”动作以外的其他图像数据,例如第二训练数据内可以包括样本对象执行“跺脚”、“下蹲”等动作的图像数据。对于本申请实施例中要训练得到的对象动作分类模型来说,“跺脚”、“下蹲”这些动作,即可以被视为未知动作类别。需要说明的是,本申请实施例中,每组训练数据中的样本对象相同,不同组训练数据中的样本对象可以相同,也可以存在区别。并且,每组训练数据中,图像数据可以是一帧,也可以是多帧,本申请对此不作限制。
接着,可以将第一训练数据和第二训练数据输入到搭建好的对象分类模型中,对其进行训练,具体的训练流程在前述实施例中已详细介绍,在此不作赘述。在训练完毕后,得到训练好的对象分类模型,即可应用于游戏娱乐的场景中,以实现对玩家动作的识别和游戏业务的运行。
请参照图8,图8示出了本申请实施例中提供的一种对象动作分类方法的具体实施流程图。本申请实施例中,可以连续获取原始图像数据,对于每一帧输入的原始图像数据,对其进行目标检测,确定出目标对象所在的检测框,即初始检测框。然后对该帧原始图像数据进行队列处理,将其加入到图像队列中。图像队列中,按照入队列的顺序存储每帧原始图像数据和它对应的初始检测框。例如,图8中的Frame&Bbox 0表示加入队列最早的原始图像数据和它对应的初始检测框;Frame&Bbox N表示加入队列最晚的原始图像数据和它对应的初始检测框。然后,可以检测当前图像队列中的图像帧个数,如果大于预设个数阈值,则可以进行后续处理,如果小于预设个数阈值,则返回继续获取原始图像数据。本申请实施例中,可以设置预设个数阈值为32,当前图像队列中的图像帧个数达到32时,可以抽取第一图像集合。本申请实施例中可以每隔四帧抽取一帧原始图像数据,这样即可以抽取到编号为0、4、8、12…、24的共8帧原始图像数据作为第一图像集合。
接着,可以使用队列中处于中间位置的原始图像数据(可以选择第15帧或者第16帧)对应的初始检测框作为目标检测框,对第一图像集合中的各个原始图像数据进行裁剪,得到目标图像数据,此处裁剪时可以使用opencv的warpaffine函数。对于裁剪后的目标图像数据,可以将其图像大小转换到对象动作分类模型支持的格式,例如可以是192×128的大小。
本申请实施例中,在对象动作分类阶段,输入一组目标图像数据后,可以使用对象动作分类模型进行特征提取和全连接层分类,然后使用柔性最大传递函数来归一化处理,得到第三预测结果,从而根据第三预测结果输出最终的目标动作类别。而在对象动作分类模型的训练阶段,对于对象动作分类模型来说,其输入的训练数据可以包括第一训练数据和第二训练数据,第一训练数据和第二训练数据和目标图像数据的获取方式可以是类似的,本申请对此不作赘述。并且,对于第一训练数据来说,其可以携带有对应的标签数据。在训练对象动作分类模型时,输入的数据可以是(M,C,S,H,W)张量,其中,M表示一批训练数据的个数;C表示特征数据的通道数,一般为3;S表示输入的目标图像数据的图像帧个数;H和W为目标图像数据的尺度,分别为192和128。
具体地,本申请实施例中采用的对象动作分类模型可以基于MobileNetV2和TSM(Temporal Shift Module)来搭建,其中,MobileNetV2模型是一种轻量级的卷积神经网络模型,旨在在计算资源受限的移动设备上实现高效的图像分类和目标检测任务,其采用了一系列的深度可分离卷积层和线性瓶颈模块,以减少参数数量和计算量,并在保持高准确率的同时实现快速推理;TSM模型是一种用于视频理解任务的模型,旨在对视频中的时间维度进行建模,其引入了时间偏移模块,通过在时间维度上对特征进行偏移来捕获视频中的时间相关性。这样可以更好地建模视频中的动态变化,并提高视频理解任务的性能,TSM模型在动作识别、视频分割和视频目标检测等任务中能够取得较好的效果。将MobileNetV2和TSM(Temporal Shift Module)模型整合后,可以在后面连接一层用于分类的全连接层,得到对象动作分类模型。本申请实施例中,将训练数据集中的第一训练数据和第二训练数据输入到对象动作分类模型,可以对其进行训练。具体的训练原理在前述实施例中已经介绍,在此不作赘述。
参照图9,图9示出了本申请实施例中提供的一种对象动作分类方法中确定目标动作类别的具体实施流程图。本申请实施例中,以预定动作类别包括10种为例,在使用全连接层进行处理时,可以进行温度放缩处理。对应的逻辑可以表示为:
式中,表示特征数据,/>表示全连接层的类中心权重参数,T表示温度放缩参数,其大小可以是30。参照图9,图9中给出了归一化后得到的两组预测结果,每组预测结果中包括10个数值,从上到下依次为对象动作分类模型预测出的每个预定动作类别对应的概率。本申请实施例中,分类概率阈值的大小可以是0.15。通过将概率和分类概率阈值进行比较,可以确定出第一组预测结果中第一个概率的数值大于0.15,说明对象动作分类模型预测该数据中的对象的动作类别为已知类别,接着判断出第一组预测结果中第一个概率的数值最大,因此,可以确定其对应的动作类别的预测结果为预定动作类别1。对于第二组预测结果,可以比较得出其中各个概率的数值均小于0.15,因此,可以确定其对应的动作类别的预测结果为未知动作类别。
为了验证本申请实施例中提供的对象动作分类模型的训练方法、对象动作分类方法的优越性,本申请实施例中,以预定动作类别包括10种为例训练了对象动作分类模型,将其和相关技术中的对象动作分类方案进行了比对,随机采集了30607个视频图像数据作为未知动作类别的负例,并结合1786个属于预定动作类别的视频图像数据作为正例进行评测,得到的结果如下表:
表1
基于上表可以看出,本申请实施例中提供的对象动作分类模型的训练方法,能够有效提高训练得到的对象动作分类模型的准确度,有利于实现精准、可靠的对象动作分类应用。
参照图10,本申请实施例还提供了一种对象动作分类模型的训练装置,装置包括:
第一获取单元1010,用于获取训练数据集;训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组第一训练数据中包括样本对象执行预定动作类别的图像数据,每组第二训练数据中包括样本对象执行预定动作类别以外的其他图像数据;
第一处理单元1020,用于将第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值;
第一预测单元1030,用于将第二训练数据输入到对象动作分类模型中,通过对象动作分类模型对第二训练数据中的样本对象执行的动作类别进行预测,得到第一预测结果;第一预测结果包括对象动作分类模型预测样本对象执行各个预定动作类别的第一概率;
第二处理单元1040,用于根据第一概率和预设的分类概率阈值,确定训练的第二损失值;
更新单元1050,用于根据第一损失值和第二损失值,对对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
可选地,训练数据集中还包括第一训练数据对应的标签数据,标签数据用于表征第一训练数据中的样本对象执行的动作类别的真实结果;第一处理单元具体用于:
将第一训练数据输入到对象动作分类模型中,通过对象动作分类模型对第一训练数据中的样本对象执行的动作类别进行预测,得到第二预测结果;第二预测结果包括对象动作分类模型预测样本对象执行各个预定动作类别的第二概率;
根据标签数据和第二预测结果,确定训练的第一损失值。
可选地,对象动作分类模型包括第一隐藏层和第二隐藏层;第一处理单元具体用于:
将第一训练数据输入到第一隐藏层,通过第一隐藏层对第一训练数据进行特征提取,得到第一特征数据;
将第一特征数据输入到第二隐藏层,通过第二隐藏层使用类中心权重参数对第一特征数据进行点乘,得到第一向量;其中,类中心权重参数中包括多个类中心权重向量,每个类中心权重向量和一个预定动作类别对应,第一向量的维度和预定动作类别的个数相同;
通过柔性最大传递函数对第一向量进行归一化处理,得到第二向量,将第二向量确定为第二预测结果;其中,第二向量内的数值元素表示对象动作分类模型预测样本对象执行对应的预定动作类别的第二概率。
可选地,第一处理单元具体用于:
根据标签数据中动作类别的真实结果,从类中心权重向量中确定对应的第一权重向量,并将类中心权重向量中除第一权重向量以外的类中心权重向量确定为第二权重向量;
确定第一特征数据和第一权重向量之间的第一余弦值,以及确定第一特征数据和各个第二权重向量之间的第二余弦值;
计算第一余弦值和预设的角度间隔阈值的差值,得到第一数值;
根据第一数值和各个第二余弦值,确定训练的第一损失值;
其中,第一数值和第一损失值负相关,第二余弦值和第一损失值正相关。
可选地,第一处理单元具体用于:
获取预先设定的温度放缩参数;温度放缩参数的大小大于1;
通过温度放缩参数对第一向量进行放缩处理,得到第三向量;
通过柔性最大传递函数对第三向量进行归一化处理,得到第二向量。
可选地,对象动作分类模型包括第一隐藏层和第二隐藏层;第一预测单元具体用于:
将第二训练数据输入到第一隐藏层,通过第一隐藏层对第二训练数据进行特征提取,得到第二特征数据;
将第二特征数据输入到第二隐藏层,通过第二隐藏层使用类中心权重参数对第二特征数据进行点乘,得到第四向量;其中,类中心权重参数中包括多个类中心权重向量,每个类中心权重向量和一个预定动作类别对应,第四向量的维度和预定动作类别的个数相同;
通过柔性最大传递函数对第四向量进行归一化处理,得到第五向量,将第五向量确定为第一预测结果;其中,第五向量内的数值元素表示对象动作分类模型预测样本对象执行对应的预定动作类别的第一概率。
可选地,第二处理单元具体用于:
确定第二特征数据和各个类中心权重向量之间的第三余弦值;
根据分类概率阈值,确定角度间隔阈值;
计算最大的第三余弦值和角度间隔阈值的差值,得到第三数值;
根据第三数值,确定训练的第二损失值;
其中,第三数值和第二损失值正相关。
可选地,第二处理单元具体用于:
计算各个预定动作类别对应的第一概率和分类概率阈值之间的差值,得到各个预定动作类别对应的第二数值;
若存在大于0的第二数值,比较各个第二数值的大小,根据最大的第二数值确定第二损失值;或者,若第二数值均小于或者等于0,确定第二损失值的大小为0。
可选地,更新单元具体用于:
检测训练数据集中第一训练数据的第一组数和第二训练数据的第二组数;
根据第一组数,确定第一损失值对应的第一权重,以及根据第二组数,确定第二损失值对应的第二权重;
根据第一权重和第二权重,对第一损失值和第二损失值进行加权求和,得到综合损失值;
根据综合损失值,对对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
可以理解的是,如图2所示的对象动作分类模型的训练方法实施例中的内容均适用于本对象动作分类模型的训练装置实施例中,本对象动作分类模型的训练装置实施例所具体实现的功能与如图2所示的对象动作分类模型的训练方法实施例相同,并且达到的有益效果与如图2所示的对象动作分类模型的训练方法实施例所达到的有益效果也相同。
本申请实施例还提供了一种对象动作分类装置,装置包括:
第二获取单元,用于获取包含目标对象的目标图像数据;
第二预测单元,用于将目标图像数据输入到通过前述对象动作分类模型的训练方法训练得到的对象动作分类模型中,通过对象动作分类模型对目标图像数据中的目标对象执行的动作类别进行预测,得到第三预测结果;第三预测结果包括对象动作分类模型预测目标对象执行各个预定动作类别的第三概率;
判别单元,用于根据第三预测结果,确定目标对象执行的目标动作类别。
可选地,第二获取单元具体用于:
获取原始图像数据;
对原始图像数据进行目标检测,确定出包含目标对象的检测框;
根据检测框对原始图像数据进行裁剪,得到目标图像数据。
可选地,第二获取单元具体用于:
对每帧原始图像数据进行目标检测,得到每帧原始图像数据对应的初始检测框;
将获取的原始图像数据加入到图像队列中;
检测当前图像队列中的图像帧个数,若图像帧个数大于或者等于预设个数阈值,按照预定的帧数间隔从图像队列中抽取第一个数的原始图像数据,得到第一图像集合;
将当前图像队列中处于中间位置的原始图像数据对应的初始检测框确定为目标检测框,根据目标检测框对第一图像集合中的各个原始图像数据进行裁剪,得到目标图像数据。
可选地,判别单元具体用于:
将各个预定动作类别对应的第三概率和预设的分类概率阈值进行比较;
若存在大于分类概率阈值的第三概率,比较各个第三概率的大小,根据最大的第三概率对应的预定动作类别确定目标动作类别;或者,若第三概率均小于或者等于分类概率阈值,确定目标动作类别为未知动作类别。
可以理解的是,如图5所示的对象动作分类方法实施例中的内容均适用于本对象动作分类装置实施例中,本对象动作分类装置实施例所具体实现的功能与如图5所示的对象动作分类方法实施例相同,并且达到的有益效果与如图5所示的对象动作分类方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种电子设备,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个程序被至少一个处理器执行,使得至少一个处理器实现如图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例。
可以理解的是,如图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例中的内容均适用于本电子设备实施例中,本电子设备实施例所具体实现的功能与如图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例相同,并且达到的有益效果与如图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例所达到的有益效果也相同。
本申请实施例的电子设备,可以是终端设备、计算机设备或者服务器设备。
示例性地,参照图11,图11为本申请实施例中提供的一种电子设备的结构示意图。以电子设备是终端设备为例,图11中,终端设备1100可以包括RF(Radio Frequency,射频)电路1110、包括有一个或一个以上计算机可读存储介质的存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、短距离无线传输模块1170、包括有一个或者一个以上处理核心的处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1180处理;另外,将涉及上行的数据发送给基站。通常,RF电路1110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、对象身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1110还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器1120可用于存储软件程序以及模块(或者单元)。处理器1180通过运行存储在存储器1120的软件程序以及模块(或者单元),从而执行各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能)等;存储数据区可存储根据终端设备1100的使用所创建的数据(比如音频数据、电话本)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1120还可以包括存储器控制器,以提供处理器1180和输入单元1130对存储器1120的访问。虽然图11示出了RF电路1110,但是可以理解的是,其并不属于终端设备1100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
输入单元1130可用于接收输入的数字或字符信息,以及产生与对象设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1130可包括触敏表面1131以及其他输入设备1132。触敏表面1131,也称为触摸显示屏或者触控板,可收集对象在其上或附近的触摸操作(比如对象使用手指、触笔等任何适合的物体或附件在触敏表面1131上或在触敏表面1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测对象的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的指令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1131。除了触敏表面1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1140可用于显示由对象输入的信息或提供给对象的信息以及控制终端设备1100的各种图形对象接口,这些图形对象接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1140可包括显示面板1141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1141。进一步地,触敏表面1131可覆盖在显示面板1141之上,当触敏表面1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。虽然在图11中,触敏表面1131与显示面板1141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1131与显示面板1141集成而实现输入和输出功能。
终端设备1100还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,接近传感器可在终端设备1100移动到耳边时,关闭显示面板1141或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1160、扬声器1161,传声器1162可提供对象与终端设备1100之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以发送给另一电子设备,或者将音频数据输出至存储器1120以便进一步处理。音频电路1160还可能包括耳塞插孔,以提供外设耳机与终端设备1100的通信。
短距离无线传输模块1170可以是WIFI(wireless fidelity,无线保真)模块、蓝牙模块或红外线模块等。终端设备1100通过短距离无线传输模块1170可以与其他设备上设置的无线传输模块进行信息的传输。
处理器1180是终端设备1100的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器1120内的软件程序或模块,以及调用存储在存储器1120内的数据,执行终端设备1100的各种功能和处理数据,从而对设备进行整体管控。可选地,处理器1180可包括一个或多个处理核心;可选地,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、对象界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
终端设备1100还包括给各个部件供电的电源1190(比如电池),可选地,电源1190可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1100还可以包括摄像头、蓝牙模块等,在此不再赘述。
本申请实施例还公开了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例。
可以理解的是,图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例中的内容均适用于本计算机可读存储介质实施例中,本计算机可读存储介质实施例所具体实现的功能与图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例相同,并且达到的有益效果与图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例所达到的有益效果也相同。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在上述的计算机可读存储介质中;图11所示的电子设备的处理器可以从上述的计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例。
可以理解的是,图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例中的内容均适用于本计算机程序产品或计算机程序实施例中,本计算机程序产品或计算机程序实施例所具体实现的功能与图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例相同,并且达到的有益效果与图2所示的对象动作分类模型的训练方法或者图5所示的对象动作分类方法实施例所达到的有益效果也相同。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于实施例,熟悉本领域的技术人员在不违背本申请精神的前提下可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (17)
1.一种对象动作分类模型的训练方法,其特征在于,所述方法包括:
获取训练数据集;所述训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组所述第一训练数据中包括样本对象执行预定动作类别的图像数据,每组所述第二训练数据中包括所述样本对象执行所述预定动作类别以外的其他图像数据;
将所述第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值;
将所述第二训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第二训练数据中的所述样本对象执行的动作类别进行预测,得到第一预测结果;所述第一预测结果包括所述对象动作分类模型预测所述样本对象执行各个所述预定动作类别的第一概率;
根据所述第一概率和预设的分类概率阈值,确定训练的第二损失值;
根据所述第一损失值和所述第二损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
2.根据权利要求1所述的对象动作分类模型的训练方法,其特征在于,所述训练数据集中还包括所述第一训练数据对应的标签数据,所述标签数据用于表征所述第一训练数据中的所述样本对象执行的动作类别的真实结果;所述将所述第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值,包括:
将所述第一训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第一训练数据中的所述样本对象执行的动作类别进行预测,得到第二预测结果;所述第二预测结果包括所述对象动作分类模型预测所述样本对象执行各个所述预定动作类别的第二概率;
根据所述标签数据和所述第二预测结果,确定训练的第一损失值。
3.根据权利要求2所述的对象动作分类模型的训练方法,其特征在于,所述对象动作分类模型包括第一隐藏层和第二隐藏层;所述将所述第一训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第一训练数据中的所述样本对象执行的动作类别进行预测,得到第二预测结果,包括:
将所述第一训练数据输入到所述第一隐藏层,通过所述第一隐藏层对所述第一训练数据进行特征提取,得到第一特征数据;
将所述第一特征数据输入到所述第二隐藏层,通过所述第二隐藏层使用类中心权重参数对所述第一特征数据进行点乘,得到第一向量;其中,所述类中心权重参数中包括多个类中心权重向量,每个所述类中心权重向量和一个所述预定动作类别对应,所述第一向量的维度和所述预定动作类别的个数相同;
通过柔性最大传递函数对所述第一向量进行归一化处理,得到第二向量,将所述第二向量确定为第二预测结果;其中,所述第二向量内的数值元素表示所述对象动作分类模型预测所述样本对象执行对应的所述预定动作类别的第二概率。
4.根据权利要求3所述的对象动作分类模型的训练方法,其特征在于,所述根据所述标签数据和所述第二预测结果,确定训练的第一损失值,包括:
根据所述标签数据中动作类别的真实结果,从所述类中心权重向量中确定对应的第一权重向量,并将所述类中心权重向量中除第一权重向量以外的类中心权重向量确定为第二权重向量;
确定所述第一特征数据和所述第一权重向量之间的第一余弦值,以及确定所述第一特征数据和各个所述第二权重向量之间的第二余弦值;
计算所述第一余弦值和预设的角度间隔阈值的差值,得到第一数值;
根据所述第一数值和各个所述第二余弦值,确定训练的第一损失值;
其中,所述第一数值和所述第一损失值负相关,所述第二余弦值和所述第一损失值正相关。
5.根据权利要求3所述的对象动作分类模型的训练方法,其特征在于,所述通过柔性最大传递函数对所述第一向量进行归一化处理,得到第二向量,包括:
获取预先设定的温度放缩参数;所述温度放缩参数的大小大于1;
通过所述温度放缩参数对所述第一向量进行放缩处理,得到第三向量;
通过柔性最大传递函数对所述第三向量进行归一化处理,得到第二向量。
6.根据权利要求1所述的对象动作分类模型的训练方法,其特征在于,所述对象动作分类模型包括第一隐藏层和第二隐藏层;所述将所述第二训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第二训练数据中的所述样本对象执行的动作类别进行预测,得到第一预测结果,包括:
将所述第二训练数据输入到所述第一隐藏层,通过所述第一隐藏层对所述第二训练数据进行特征提取,得到第二特征数据;
将所述第二特征数据输入到所述第二隐藏层,通过所述第二隐藏层使用类中心权重参数对所述第二特征数据进行点乘,得到第四向量;其中,所述类中心权重参数中包括多个类中心权重向量,每个所述类中心权重向量和一个所述预定动作类别对应,所述第四向量的维度和所述预定动作类别的个数相同;
通过柔性最大传递函数对所述第四向量进行归一化处理,得到第五向量,将所述第五向量确定为第一预测结果;其中,所述第五向量内的数值元素表示所述对象动作分类模型预测所述样本对象执行对应的所述预定动作类别的第一概率。
7.根据权利要求6所述的对象动作分类模型的训练方法,其特征在于,所述确定训练的第二损失值,包括:
确定所述第二特征数据和各个所述类中心权重向量之间的第三余弦值;
根据所述分类概率阈值,确定角度间隔阈值;
计算最大的所述第三余弦值和所述角度间隔阈值的差值,得到第三数值;
根据所述第三数值,确定训练的第二损失值;
其中,所述第三数值和所述第二损失值正相关。
8.根据权利要求1所述的对象动作分类模型的训练方法,其特征在于,所述根据所述第一概率和预设的分类概率阈值,确定训练的第二损失值,包括:
计算各个所述预定动作类别对应的第一概率和所述分类概率阈值之间的差值,得到各个所述预定动作类别对应的第二数值;
若存在大于0的所述第二数值,比较各个所述第二数值的大小,根据最大的第二数值确定所述第二损失值;或者,若所述第二数值均小于或者等于0,确定所述第二损失值的大小为0。
9.根据权利要求1所述的对象动作分类模型的训练方法,其特征在于,根据所述第一损失值和所述第二损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型,包括:
检测所述训练数据集中所述第一训练数据的第一组数和所述第二训练数据的第二组数;
根据所述第一组数,确定所述第一损失值对应的第一权重,以及根据所述第二组数,确定所述第二损失值对应的第二权重;
根据所述第一权重和所述第二权重,对所述第一损失值和所述第二损失值进行加权求和,得到综合损失值;
根据所述综合损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
10.一种对象动作分类方法,其特征在于,所述方法包括:
获取包含目标对象的目标图像数据;
将所述目标图像数据输入到通过如权利要求1-9中任一项所述对象动作分类模型的训练方法训练得到的对象动作分类模型中,通过所述对象动作分类模型对所述目标图像数据中的所述目标对象执行的动作类别进行预测,得到第三预测结果;所述第三预测结果包括所述对象动作分类模型预测所述目标对象执行各个所述预定动作类别的第三概率;
根据所述第三预测结果,确定所述目标对象执行的目标动作类别。
11.根据权利要求10所述的对象动作分类方法,其特征在于,所述获取包含目标对象的目标图像数据,包括:
获取原始图像数据;
对所述原始图像数据进行目标检测,确定出包含所述目标对象的检测框;
根据所述检测框对所述原始图像数据进行裁剪,得到所述目标图像数据。
12.根据权利要求11所述的对象动作分类方法,其特征在于,所述对所述原始图像数据进行目标检测,确定出包含所述目标对象的检测框;根据所述检测框对所述原始图像数据进行裁剪,得到所述目标图像数据,包括:
对每帧所述原始图像数据进行目标检测,得到每帧所述原始图像数据对应的初始检测框;
将获取的所述原始图像数据加入到图像队列中;
检测当前所述图像队列中的图像帧个数,若所述图像帧个数大于或者等于预设个数阈值,按照预定的帧数间隔从所述图像队列中抽取第一个数的原始图像数据,得到第一图像集合;
将当前所述图像队列中处于中间位置的所述原始图像数据对应的初始检测框确定为目标检测框,根据所述目标检测框对所述第一图像集合中的各个所述原始图像数据进行裁剪,得到所述目标图像数据。
13.根据权利要求10所述的对象动作分类方法,其特征在于,所述根据所述第三预测结果,确定所述目标对象执行的目标动作类别,包括:
将各个所述预定动作类别对应的第三概率和预设的分类概率阈值进行比较;
若存在大于所述分类概率阈值的第三概率,比较各个所述第三概率的大小,根据最大的第三概率对应的预定动作类别确定目标动作类别;或者,若所述第三概率均小于或者等于所述分类概率阈值,确定所述目标动作类别为未知动作类别。
14.一种对象动作分类模型的训练装置,其特征在于,所述装置包括:
第一获取单元,用于获取训练数据集;所述训练数据集中包括若干组第一训练数据和若干组第二训练数据,其中,每组所述第一训练数据中包括样本对象执行预定动作类别的图像数据,每组所述第二训练数据中包括所述样本对象执行所述预定动作类别以外的其他图像数据;
第一处理单元,用于将所述第一训练数据输入到对象动作分类模型中进行训练,确定训练的第一损失值;
第一预测单元,用于将所述第二训练数据输入到所述对象动作分类模型中,通过所述对象动作分类模型对所述第二训练数据中的所述样本对象执行的动作类别进行预测,得到第一预测结果;所述第一预测结果包括所述对象动作分类模型预测所述样本对象执行各个所述预定动作类别的第一概率;
第二处理单元,用于根据所述第一概率和预设的分类概率阈值,确定训练的第二损失值;
更新单元,用于根据所述第一损失值和所述第二损失值,对所述对象动作分类模型的参数进行更新,得到训练好的对象动作分类模型。
15.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13任意一项所述的方法。
16.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13任意一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13任意一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311390510.XA CN117115596B (zh) | 2023-10-25 | 2023-10-25 | 对象动作分类模型的训练方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311390510.XA CN117115596B (zh) | 2023-10-25 | 2023-10-25 | 对象动作分类模型的训练方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117115596A true CN117115596A (zh) | 2023-11-24 |
CN117115596B CN117115596B (zh) | 2024-02-02 |
Family
ID=88809682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311390510.XA Active CN117115596B (zh) | 2023-10-25 | 2023-10-25 | 对象动作分类模型的训练方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117115596B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520199A (zh) * | 2018-03-04 | 2018-09-11 | 天津大学 | 基于雷达图像与生成对抗模型的人体动作开集识别方法 |
CN111523621A (zh) * | 2020-07-03 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备和存储介质 |
CN111814810A (zh) * | 2020-08-11 | 2020-10-23 | Oppo广东移动通信有限公司 | 图像识别方法、装置、电子设备及存储介质 |
CN113902944A (zh) * | 2021-09-30 | 2022-01-07 | 青岛信芯微电子科技股份有限公司 | 模型的训练及场景识别方法、装置、设备及介质 |
CN114330499A (zh) * | 2021-11-30 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 分类模型的训练方法、装置、设备、存储介质及程序产品 |
CN115713669A (zh) * | 2022-11-04 | 2023-02-24 | 北京邮电大学 | 一种基于类间关系的图像分类方法、装置、存储介质及终端 |
US20230085401A1 (en) * | 2020-02-17 | 2023-03-16 | Huawei Technologies Co., Ltd. | Method of training an image classification model |
CN116453209A (zh) * | 2023-03-09 | 2023-07-18 | 浙江大华技术股份有限公司 | 模型训练方法、行为分类方法、电子设备及存储介质 |
WO2023159898A1 (zh) * | 2022-02-25 | 2023-08-31 | 国网智能电网研究院有限公司 | 一种动作识别系统、方法、装置及模型训练方法、装置、计算机设备及计算机可读存储介质 |
-
2023
- 2023-10-25 CN CN202311390510.XA patent/CN117115596B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108520199A (zh) * | 2018-03-04 | 2018-09-11 | 天津大学 | 基于雷达图像与生成对抗模型的人体动作开集识别方法 |
US20230085401A1 (en) * | 2020-02-17 | 2023-03-16 | Huawei Technologies Co., Ltd. | Method of training an image classification model |
CN111523621A (zh) * | 2020-07-03 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备和存储介质 |
CN111814810A (zh) * | 2020-08-11 | 2020-10-23 | Oppo广东移动通信有限公司 | 图像识别方法、装置、电子设备及存储介质 |
CN113902944A (zh) * | 2021-09-30 | 2022-01-07 | 青岛信芯微电子科技股份有限公司 | 模型的训练及场景识别方法、装置、设备及介质 |
CN114330499A (zh) * | 2021-11-30 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 分类模型的训练方法、装置、设备、存储介质及程序产品 |
WO2023159898A1 (zh) * | 2022-02-25 | 2023-08-31 | 国网智能电网研究院有限公司 | 一种动作识别系统、方法、装置及模型训练方法、装置、计算机设备及计算机可读存储介质 |
CN115713669A (zh) * | 2022-11-04 | 2023-02-24 | 北京邮电大学 | 一种基于类间关系的图像分类方法、装置、存储介质及终端 |
CN116453209A (zh) * | 2023-03-09 | 2023-07-18 | 浙江大华技术股份有限公司 | 模型训练方法、行为分类方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
孙彦 等: "基于SSD_MobileNet_v1网络的猫狗图像识别", 《天津职业技术师范大学学报》, vol. 30, no. 1, pages 38 - 44 * |
Also Published As
Publication number | Publication date |
---|---|
CN117115596B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7265003B2 (ja) | ターゲット検出方法、モデル訓練方法、装置、機器及びコンピュータプログラム | |
CN108304758B (zh) | 人脸特征点跟踪方法及装置 | |
CN110704661B (zh) | 一种图像分类方法和装置 | |
CN108280458B (zh) | 群体关系类型识别方法及装置 | |
CN109993125A (zh) | 模型训练方法、人脸识别方法、装置、设备及存储介质 | |
CN111813532B (zh) | 一种基于多任务机器学习模型的图像管理方法及装置 | |
CN110163082A (zh) | 一种图像识别网络模型训练方法、图像识别方法及装置 | |
CN108875781A (zh) | 一种标签分类方法、装置、电子设备及存储介质 | |
CN103745235A (zh) | 人脸识别方法、装置及终端设备 | |
CN112364439A (zh) | 自动驾驶系统的仿真测试方法、装置以及存储介质 | |
CN111709398A (zh) | 一种图像识别的方法、图像识别模型的训练方法及装置 | |
CN113723378B (zh) | 一种模型训练的方法、装置、计算机设备和存储介质 | |
CN112084959B (zh) | 一种人群图像处理方法及装置 | |
CN111222563A (zh) | 一种模型训练方法、数据获取方法以及相关装置 | |
CN113723159A (zh) | 场景识别模型训练方法、场景识别方法及模型训练装置 | |
CN114722937A (zh) | 一种异常数据检测方法、装置、电子设备和存储介质 | |
CN112862021A (zh) | 一种内容标注方法和相关装置 | |
CN117115596B (zh) | 对象动作分类模型的训练方法、装置、设备及介质 | |
CN113190646A (zh) | 一种用户名样本的标注方法、装置、电子设备及存储介质 | |
CN113762585B (zh) | 数据的处理方法、账号类型的识别方法及装置 | |
CN116259083A (zh) | 一种图像质量识别模型的确定方法和相关装置 | |
CN115392405A (zh) | 模型训练方法、相关装置及存储介质 | |
CN109583583A (zh) | 神经网络训练方法、装置、计算机设备及可读介质 | |
CN112948763B (zh) | 件量预测方法、装置、电子设备及存储介质 | |
CN113569889A (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 |