CN113822130A - 模型训练方法、场景识别方法、计算设备和介质 - Google Patents
模型训练方法、场景识别方法、计算设备和介质 Download PDFInfo
- Publication number
- CN113822130A CN113822130A CN202110757819.2A CN202110757819A CN113822130A CN 113822130 A CN113822130 A CN 113822130A CN 202110757819 A CN202110757819 A CN 202110757819A CN 113822130 A CN113822130 A CN 113822130A
- Authority
- CN
- China
- Prior art keywords
- target scene
- video
- training
- image
- sample
- 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
- 238000012549 training Methods 0.000 title claims abstract description 228
- 238000000034 method Methods 0.000 title claims abstract description 115
- 238000009826 distribution Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 2
- 239000000523 sample Substances 0.000 description 278
- 239000013598 vector Substances 0.000 description 39
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 22
- 238000005065 mining Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 15
- 238000012552 review Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000003062 neural network model Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000002372 labelling Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000271566 Aves Species 0.000 description 1
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了模型训练方法、场景识别方法、计算设备和介质。训练方法包括:获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含所述目标场景,所述视频库具有与所述目标场景相关联的标识信息,其中N为大于1的整数;基于所述视频库得到视频图像库,所述视频图像库包括多个视频图像;基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集;以及利用所述训练样本集对所述目标场景识别模型进行训练。
Description
技术领域
本公开涉及计算机领域,更具体地,涉及目标场景识别模型的训练方法、目标场景识别方法、计算设备和计算机可读存储介质。
背景技术
随着信息技术的发展,用户越来越多地通过视频来传递信息,视频可以涉及各种各样的场景,比如运动场景、美食场景、人像场景、风景场景及卡通场景等。
目前,可以通过基于人工智能的机器学习模型(例如,深度学习模型、卷积神经网络)来识别视频中是否包含目标场景(针对从视频提取的视频图像)。在训练样本集来自初始视频库(即,包括各种各样的海量视频的集合,可以理解为全视频库)时,例如,对于目标场景为“投篮”场景的情况,可以通过人工标注初始视频库的视频图像库中的大量训练样本,包括包含投篮场景的训练样本,并用于对机器学习模型进行训练,从而将训练后的模型用于识别待识别视频中是否包含投篮瞬间的图像。但是,这种方法存在对海量训练样本进行标注的需求,同时不利于向其他场景类别的迁移,因为在要识别新的场景时也同样需要进行对海量样本的标注,因此导致整体算法设计复杂化、人工投入过大、对标注人员能力的要求过高、以及场景迭代非常缓慢。
因此,如何简单、快速、准确地获取针对目标场景的大量训练样本,以得到更有效的目标场景识别模型是一个亟待解决的问题。
发明内容
根据本公开的一方面,提供了一种用于目标场景识别模型的训练方法,包括:获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含目标场景,所述视频库中的视频具有与所述目标场景相关联的标识信息,其中N为大于1的整数;基于所述视频库得到视频图像库,所述视频图像库包括多个视频图像;基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集;以及利用所述训练样本集对所述目标场景识别模型进行训练。
根据本公开的另一方面,提供了一种用于识别目标场景的方法,包括:获取待识别视频;基于所述待识别视频生成待识别视频图像库;利用如上所述的训练方法训练的目标场景识别模型来识别所述待识别视频图像库中的视频图像是否包含目标场景;以及在所述待识别视频图像库中的至少一个视频图像包含所述目标场景的情况下,确定所述待识别视频包含所述目标场景。
根据本公开的另一方面,提供了一种用于目标场景识别模型的训练装置,包括第一获取模块、第一图像库生成模块、样本选择模块和训练模块。第一获取模块用于获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含所述目标场景,所述视频库中的视频具有与所述目标场景相关联的标识信息,其中N为大于1的整数;第一图像库生成模块用于基于所述视频库得到包括视频图像库,所述视频图像库包括多个视频图像;样本选择模块用于基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集;训练模块用于利用所述训练样本集对所述目标场景识别模型进行训练。
根据本公开的又一方面,提供了一种目标场景识别装置,包括第二获取模块、第二图像库生成模块、识别模块和确定模块。第二获取模块用于获取待识别视频;第二图像库生成模块用于基于所述待识别视频生成待识别视频图像库;识别模块用于利用目标场景识别模型来识别所述待识别视频图像库中的视频图像是否包含目标场景,其中,该目标场景识别模型可以是本地的或者从外部获取的,并且该目标场景识别模型是根据如上所述的训练方法来训练得到的;确定模块用于在所述待识别视频图像库中的至少一个视频图像包含所述目标场景的情况下,确定所述待识别视频包含所述目标场景。
根据本公开的实施例,该目标场景识别装置还可以包括人工复核模块,该人工复核模块用于接收对所述多个待识别视频中的至少一个待识别视频的复核结果;在针对任一待识别视频的识别结果指示不包含所述目标场景但其对应的复核结果指示包含所述目标场景的情况下,将该待识别视频的视频图像库中包含所述目标场景的视频图像作为新的原型图像,用于选择目标场景识别模型的新的训练样本集。
根据本公开的又一方面,还提供了一种计算设备。该计算设备包括处理器和存储器。存储器上存储有计算机程序,所述计算机程序在被所述处理器执行时实现如上所述的方法的各个步骤。
根据本公开的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如上所述的方法的各个步骤。
根据本公开的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上所述的方法的各个步骤。
基于上述本公开的各方面,在利用现有的初始视频库生成用于训练目标场景识别模型的训练样本集的实例中,根据包含目标场景的少量原型图像以及与目标场景相关联的视频库(从初始视频库中基于标识信息筛选得到)的视频图像库的多个视频图像的分布特性可以从该视频库的视频图像库中自动挖掘出多个正负样本,因此能够有效剔除无关的视频图像,从而能够大量降低待标注的样本。此外,在要识别的目标场景更换时,仅需更换原型图像以及筛选视频库的关键词,也即这种生成用于训练目标场景识别模型的训练样本集的方法可以直接迁移到其他目标场景识别任务中。
附图说明
图1A示出了一种用于目标场景识别模型的训练过程的示意图。
图1B示出了根据本公开实施例的目标场景识别模型的训练方法和目标场景识别方法的网络架构图。
图1C示出了图1B中的网络架构中服务器与外部环境之间的交互示意图。
图1D示出了本公开的实施例提供的网络架构应用于区块链系统的结构示意图;
图2示出了根据本公开实施例的用于目标场景识别模型的训练方法的流程示意图。
图3示出了深度残差网络101层(RESNET-101)的模型结构图。
图4A-4C示出了根据本公开实施例的训练方法的选择训练样本集的步骤的更多细节。
图5示出了从视频图像库的所述多个视频图像中选择训练样本集(挖掘出正负样本)的结果示意图。
图6示出了基于6个示例视频的视频库挖掘出的正样本的分布情况。
图7示出了利用包括噪声样本的训练样本集对所述目标场景识别模型进行训练的更多细节。
图8A-8B示出了根据本公开实施例的用于识别目标场景的方法的流程示意图。
图9示出了加入了人工校验环节的根据本公开的实施例的目标场景识别方法所涉及的交互示意图。
图10A-10B示出了用于目标场景识别模型的训练装置1000的结构框图。
图11示出了目标场景识别装置1100的结构框图。
图12示出了根据本公开实施例的计算设备1200的结构框图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在进行本公开的具体描述之前,可以先对本公开中可能用到的某些术语进行简单解释。
图像识别:属于类别级别的识别,不考虑物体的特定实例,仅考虑物体的类别(如人、狗、猫、鸟等),输出为物体的所属类别。一个典型的识别是大型通用物体识别开源数据集ImageNet中的识别任务,识别出某个物体是1000个类别中的哪一个。图像识别提供了图像的语义信息。
Imagenet:大型通用物体识别开源数据集。
RESNET-101:深度残差网络模型,在各种图像分类任务中已经展现出良好的测试效果。
图像识别标注:每次标注1张图像,标注出该图像属于指定类别中的某一类。
多示例学习:多示例学习(MIL)是由监督式学习演变而来的。相较于输入一系列被单独标注的示例,在多示例学习中,输入的是一系列被标注的“包”,每个“包”都包括许多示例。在多示例学习中,图像被描述成一个包:X={X1,X2,…,Xm},其中每一个Xi均是从图像中相应第i个区域中提取出来的特征向量(我们称之为示例),m是图像被分割出的区域(示例)个数,0≤i≤m。当图像包同时包含“沙子”区域示例和“水”区域示例时,这个包会被标注成正例(“海滩”)。
度量学习:度量学习(Metric Learning)可以被认为是距离度量学习(DistanceMetric Learning,DML)或相似度学习。在数学中,一个度量(或距离函数)是一个定义集合中元素之间距离的函数。度量学习(Metric Learning)是常用的传统机器学习方法,其基本原理是根据不同的任务来自主学习出针对某个特定任务的度量距离函数。度量学习在人脸识别、文本领域有很好的分类效果。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
如前文所述的,在利用现有的初始视频库生成用于训练目标场景识别模型的训练样本集,以对目标场景识别模型进行训练时,在视频中提取视频图像会获得大量的训练样本,例如,平均3分钟的小视频(假设25fps则共有25*60*3=4500张视频图像),若初始视频库有100万个视频,则共45亿张视频图像待标注,样本量极大,如果基于目前的人工标注的方法,则需要耗费极大的标注资源,并且针对具有歧义样本的场景,标注难度提升,同时,场景迭代也非常缓慢,不同场景会导致更多大量的人工投入,因此不利于业务快速扩展。
如图1A所示,首先收集所有视频图像,然后标注人员对所有视频图像进行人工标注,经将标注后的所有视频图像用于模型训练,得到训练后的模型。然后,利用测试集对该模型进行测试,并且可将测试结果进行反馈用于调整模型参数,并可以向标注人员反馈数据问题,以调整标注。此外,还将模型的各项指标提供给产品评估人员,以确定是否达到预设指标。
在现实视频理解任务中,常遇到的一个问题是如何从海量的视频中筛选出具有某些目标场景(如篮球投篮瞬间)的视频。一般用户上传视频时会附带标题、描述、标签等一系列标识信息,因此,为了剔除一些与目标场景极其不相关的视频,本公开的技术方案提出首先可以基于目标场景的关键词而从初始视频库中筛选出具有与目标场景相关联的标识信息的视频库,然后再基于该视频库的视频图像库中的多个视频图像的分布特性以及包含目标场景的少量原型图像来从视频图像库选择出一些视频图像作为训练样本集,再利用训练样本集对目标场景识别模型进行训练。因此能够有效剔除无关的视频图像,并且能够大量降低待标注的样本,此外,在要识别的目标场景更换时,仅需更换原型图像以及筛选视频库的关键词,也即这种生成用于训练目标场景识别模型的训练样本的方法可以直接迁移到其他目标场景识别任务中。
图1B示出了根据本公开实施例的目标场景识别模型训练方法和目标场景识别方法的网络架构图。图1C示出了图1B中的网络架构中服务器与外部环境之间的交互示意图。
本公开实施例的目标场景识别模型的训练方法和场景识别方法可以应用于如图1B所示的网络架构中。如图1B所示,用户终端100分别通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用有线或无线链路实现数据传输。
再结合图1B和1C,服务器200可以通过本地存储原型图像和海量的初始视频库或者从外部(例如用户终端100)获取原型图像和初始视频库的网络链接等等方式而能够获取原型图像和初始视频库。服务器200在获取到原型图像以及初始视频库之后,还可以从自身的输入装置或者从用户终端接收目标场景的关键词(例如,“投篮”),然后基于所接收的目标场景的关键词而可以从初始视频库中筛选出具有与目标场景相关联的标识信息(例如,标题、标签、描述、关键词中的至少一项)的视频,从而形成用于生成训练样本的视频库。例如,如果目标场景为“投篮”,那么目标场景相关联的标识信息可以为包括关键词为“篮球”、“投篮”、“女篮”、“跳投”、“三分球”等等的标题、描述、标签等。服务器可以根据包含目标场景的少量原型图像(如图1B中的几张包括“投篮”的目标场景的原型图像)以及基于标识信息筛选得到的视频库的视频图像库中多个视频图像的分布特性,而从该视频库中选择(挖掘)出多个正负样本作为训练样本,以对目标场景识别模型进行训练,并存储(用于本地识别任务)或向其他处理装置发送训练好的目标场景识别模型(用于其他处理装置的识别任务)。本公开以服务器将训练好的目标场景识别模型存储在本地为例进行说明,但是显然,服务器也可以将训练好的目标场景识别模型发送到其他处理装置(其他服务器),用于其他处理装置进行目标场景识别。
用户终端100还可以向服务器200发送待识别视频,服务器对从用户终端接收到的待识别视频进行抽帧以生成待识别视频图像库,并利用训练后的目标场景识别模型对该待识别视频图像库进行目标场景识别,以确定待识别视频图像库中是否存在包含目标场景的视频图像,进而确定待识别视频中是否包含目标场景并向用户终端返回是识别结果。如图1C所示,用户输入的视频1中四个视频图像包含目标场景,而视频2中没有视频图像包含目标场景,因此针对视频1返回“是”的结果,而针对视频2返回“否”的结果。
在图1B中示出的是在服务器处执行目标场景识别模型的训练方法和目标场景识别方法(具体操作将在后文描述),但是应理解,如果用户终端自身的计算和处理能力足够,且可以获取足够的初始视频库和原型图像以及待识别视频,那么在用户终端处也可以执行目标场景识别模型的训练方法和目标场景识别方法。此外,服务器和用户终端也可以分别执行这些方法的一部分,从而共同执行这些方法。
在本公开中,用户终端可以例如是用户可以使用的移动设备、计算机终端、或其他具有计算和处理能力以及通信能力的设备。
在本公开的描述中,为了方便,将各种可能方式的服务器都统称为服务器,因此服务器200可以是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。
此外,服务器也可以与客户端进行上述交互,以实现图1B中示出的与用户终端之间的上述交互功能(服务器处执行上述训练方法和目标场景识别方法)。客户端为特定应用的客户端,该特定应用运行时能够实现针对上述图1B中与服务器200交互的用户终端100所描述的操作。
本公开实施例提出的已训练的目标场景识别模型可以部署于云服务器中,云服务器提供人工智能云服务,所谓人工智能云服务,一般也被称作是AIaaS(AI asa Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。
另一些应用场景中,客户端(例如,视频类应用的客户端)、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成分布式系统。客户端可以替换图1B中的用户终端100,且与客户端通信的节点处的计算设备可以为图1B中的服务器200。
此外,计算和处理能力足够的用户终端也可以作为节点处的计算设备用于执行本公开中的目标场景识别模型训练方法和目标场景识别方法。
这里以分布式系统为区块链系统为例,参见图1D,图1D是本公开实施例提供的网络架构10应用于区块链系统的一个可选的结构示意图,由多个节点20(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端30形成,节点之间形成组成的点对点(PeerTo Peer,P2P)网络,P2P协议是一个运行在传输控制协议(Transmission ControlProtocol,TCP)协议之上的应用层协议。在分布式系统中,任何机器如服务器、用户终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1D示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、股份授权证明(Delegated Proof-of-Stake,DPoS)、消逝时间量证明(Proof of Elapsed Time,PoET)等。
例如,客户端30与节点处的计算设备进行通信,并且在向节点处的计算设备发送原型图像和初始视频库之后,该计算设备可以在区块链系统中进行可靠地数据共享,或者在其处训练完目标场景识别模型之后,可以将训练后的识别模型在各个可信节点的计算设备处进行共享。
以下结合附图2-7对本公开的实施例中的目标场景识别模型的训练方法进行详细描述。
图2示出了根据本公开实施例的用于目标场景识别模型的训练方法200的流程示意图。该训练方法可以通过具有处理功能的任何计算设备来执行,例如图1B中所示的服务器(包括云服务器)和/或用户终端,或者如图1D所示的区块链系统中的各个节点处的计算设备来执行。
在步骤S210中,获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含所述目标场景,所述视频库中的视频具有与所述目标场景相关联的标识信息,其中N为大于1的整数。
可选地,如前面所述,所述标识信息为标题、描述、标签中的至少一项,并且所述视频库中的视频是基于所述目标场景的关键词而针对所述标识信息从初始视频库进行筛选而得到的。
例如,如果目标场景为“投篮”,那么例如服务器的处理装置可以对接收到的关键词“投篮”进行语义解析,而以与关键词“投篮”相关联的关键词“投篮”、“篮球”、“女篮”、“跳投”、“三分球”等中的至少一个来针对初始视频库中的各个视频的标识信息(标题、描述、标签等)进行筛选,从而筛选出具有这些关键词的标识信息的视频,作为该目标场景的视频库,这一步可让针对目标场景的视频搜索范围从海量数据库降低好几个数量级;当然,如果初始视频库的量足够大,也可以不进行语义扩充,直接用“投篮”作为关键词而进行视频搜索。但是,这些视频只是可能与“投篮”相关联,而不是一定包含目标场景“投篮”,例如,通过“女篮”的关键词筛选出的视频可能仅仅是女篮公益活动的视频,并不包含目标场景“投篮”,通过“投篮”的关键词筛选出的视频可能仅仅是投篮成功后现场观众庆祝的一小段视频,因此这些视频(视频图像)不应该被用于训练(本身具有模糊性)。
可选地,原型图像是指已确定的包含目标场景的图像。如图1B所示的几张原型图像全部都是包含目标场景“投篮”的图像。
在本公开的实施例中,仅需有限数据量的少量原型图像,就可从视频图像库中选择出包括足够数量的视频图像的训练样本集,该过程也可以被认为是在视频图像库中挖掘训练样本集。
在步骤S220中,基于所述视频库得到视频图像库,所述视频图像库包括多个视频图像。
可选地,可以对所述视频库中的每个视频进行抽帧,即把组成每个视频的所有视频图像保存下来,从而得到多个视频图像,作为视频图像库。后续步骤需要从视频图像库中挖掘含目标场景的视频图像作为正样本,获取不含目标场景的视频图像作为负样本。
在步骤S230中,基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集。
在该步骤中,所述多个视频图像的分布特性可以是所述多个视频图像的聚类特性。N个原型图像可以作为基准,以将所述多个视频图像中与这些原型图像的相似度足够大的视频图像作为正样本,而将与这些原型图像的相似度足够小的视频图像作为负样本。因此,也可以认为是基于这些原型图像从所述视频图像库的所述多个视频图像中挖掘出正负样本,这些正负样本是由这些原型图像扩散得到。
可选地,本文所述的图像之间的相似度,可以被理解为是图像之间的距离,更具体地是图像的特征向量之间的距离,包括马氏距离、欧氏距离、余弦距离等。
该步骤S230的更多细节将在后文参考图4A-4B和图5进行详细描述。
在步骤S240中,利用所述训练样本集对所述目标场景识别模型进行训练。
可选地,本公开实施例提供的目标场景识别模型可以是深度神经网络模型,深度神经网络模型可以具有多层的神经网络结构,例如,深度神经网络模型可以是基于ResNet101(深度残差网络101层)的网络模型,深度残差网络101层的模型机构如图3所示,该图为一个三层的残差模块,用于降低参数的数目。3x3代表卷积核的尺寸,64代表通道数。圆圈内一个加号代表相加,即恒等映射。ReLU(Rectified Linear Unit,线性整流函数)表示利用激活函数进行激活。256-d代表输入为256维。
如表1所示,为一些实施例中深度神经网络模型中ResNet101的结构表,其中,x3、x4以及x23分别表示有3个模块(blocks)、4个模块以及23个模块。卷积层有5种,Conv5_x为第5层卷积层。如表2所示,为深度神经网络模型中输出层的结构表。
其中,Conv5_x输出训练样本图像的深度特征feature map(图像和滤波器进行卷积后得到的特征图),pool_cr层输出图像特征向量,为图像在经过深度学习神经网络前向计算后输出的深层高维度特征,可以为在某个feature map后,进行池化操作后得到的一维特征向量,Fc层输出各场景的场景置信度(概率)。1000代表候选图像场景的数量。
【表1】ResNet101的结构表
【表2】输出层结构表
层的名称 | 输出大小 | 层 |
Pool_cr | 1x2048 | 最大池化 |
Fc | 1x1000 | 全连接 |
可以利用预设数据集对目标场景识别模型进行预训练,以确定所述目标场景识别模型的初始参数。例如,当目标场景识别模型基于Resnet101,且基于表1中的结构的深度神经网络模型时,为了快速收敛并保证较好的识别效果,可以采用开源的在ImageNet数据集上预训练的ResNet101模型参数,作为目标场景识别模型的初始模型参数,即Conv1-Conv5采用在ImageNet数据集上预训练的ResNet101的参数。此外,由于要利用步骤S230中所获取的上述训练样本集再次对目标场景识别模型进行训练,该模型针对一个视频图像的分类输出只存在两种情况(包含目标场景和不包含目标场景),实际是一个二分类的问题,因此在确定初始参数之后需要将表2所述的Fc层替换,并换成分类层Fc_cr(候选场景数为2),并且针对该层Fc_cr,可以采用方差为0.01,均值为0的高斯分布进行初始化。其中,ImageNet数据集为大型通用物体识别开源数据集。初始模型参数也可以称为是Imagenet预训练模型的参数,Imagenet预训练模型指的是基于ImageNet数据集训练深度神经网络模型,得到该模型的参数权重。当然,也可以采用其他现有的开源数据集(例如,open-image)和/或其他结构的模型,只要该模型经训练后能够用于场景识别。
步骤S240的更多细节将在后文结合图7进行详细描述。
通过参考图2所描述的用于目标场景识别模型的训练方法,基于目标场景的关键词可以从初始视频库中筛选出具有与目标场景相关联的标识信息的视频库,然后再基于视频库的视频图像库中的多个视频图像的分布特性以及包含目标场景的少量原型图像来从视频图像库选择出训练样本集,再利用训练样本集对目标场景识别模型进行训练,因此能够有效剔除无关的视频图像,从而能够大量降低待标注的样本,此外,在要识别的目标场景更换时,仅需更换原型图像以及筛选视频库的关键词,也即这种生成用于训练目标场景识别模型的训练样本的方法可以直接迁移到其他目标场景识别任务中。
图4A-4B示出了步骤S230中的更多细节。
可选地,该步骤中涉及的所述多个视频图像的分布特性通过对所述多个视频图像进行聚类得到,也就是说,将所述多个视频图像分为多个类群,尽量使每个类群中的视频图像相对于与其他类群中的视频图像而更相似。
可选地,每个视频图像都具有特征信息,且都可以用特征向量(用embedding表示)来进行表示,所述多个视频图像的聚类可以是将多个视频图像的特征向量按照聚类算法进行聚类,例如,通过K-means算法、均值漂移聚类算法、基于密度的聚类方法等等,本文以K-means算法为例。
首先,如图4A所示,在步骤S2301中,对所述多个视频图像进行聚类,以得到N1个聚类,N1为大于1的整数且小于所述视频库的视频数量。
即,聚类中心的数量也为N1个。可选地,将N1设置为小于所述视频库中的视频数量,以避免每个聚类中的图像样本为同一视频的视频图像,例如N1的值为所述视频数量的1/10。
可选地,每个视频图像的特征向量(以及进行下一步骤所需要的原型图像的特征向量)可以通过以下方式获得:可以采用如前文结合表1和2描述的在预设数据集(例如ImageNet数据集)上预训练的深度神经网络模型(例如ResNet101模型)(即Conv1-Conv5采用在ImageNet数据集上预训练的ResNet101的参数),且在输出层的结构中去掉全连接层,在将每个视频图像(以及原型图像)输入该预训练的ResNet101模型之后从输出层结构中的最大池化层输出的一维特征向量作为该视频图像(以及原型图像)的特征向量。
此外,深度神经网络模型的初始参数可能是变化的。例如,在所述深度神经网络模型还作为目标场景识别模型时,在训练过程中,目标场景识别模型的参数会不断地更新和调整,当需要挖掘新的训练样本集时,可以基于更新或调整了参数后的目标场景识别模型(去掉全连接层)来生成这些图像的特征向量(embedding)。
当然,也可以采用其他方式来获得每个视频图像(以及原型图像)的特征向量,只要能够将这些图像的特征信息表达为特征向量即可。例如,可以采用其他现有的开源数据集(例如,open-image)和/或其他结构的模型(例如,还可以采用其他大规模分类模型或图像度量学习模型)来类似地得到图像的特征向量;也可以通过获取传统的基于SIFT、颜色直方图、HOG等图像特征而得到图像的特征向量。
然后,在步骤S2302中,基于每个原型图像与所述N1个聚类的聚类中心之间的距离、以及所述N1个聚类的聚类中心之间的距离,得到所述正样本集和所述负样本集。
针对该步骤,可视为是基于这些原型图像根据上述各个距离从所述多个视频图像中挖掘出正负样本,这些正负样本是由这些原型图像扩散得到。
进一步参考图4B。如图4B所示,在步骤S2302-1中,基于每个原型图像与所述N1个聚类的聚类中心之间的距离得到一级正样本集。
可选地,图像与聚类中心之间的距离也可以理解为是图像的特征向量与聚类中心(与特征向量维度相同的一个向量)之间的距离。针对每个原型图像的特征向量,将所述N1个聚类中心中与该原型图像的特征向量的距离最近(最相似)的N2个聚类中心作为一级聚类中心,N2为大于1的整数;并且,将所述N个原型图像对应的所有一级聚类中心所属的聚类中的所有图像样本作为该一级正样本集中包括的一级正样本。
可选地,N2可以为经验值,例如N2可以为10。例如共有1000个聚类中心,针对每个原型图像,则将该1000个聚类中心中与该原型图像的特征向量的距离最近的10个聚类中心,作为该原型图像的一级聚类中心。由于原型图像是肯定包含目标场景的,因此这些一级聚类中心的聚类中的图像样本包含目标场景的可能性也很高,例如,这些一级聚类中心所属的聚类中的至少50%的图像样本包含目标场景。
但是,由于聚类这个过程并不是完全精确的,可能存在某一个或一些另外的不是一级聚类中心的聚类中心,它们所属的聚类中的至少一部分图像样本也包含目标场景,因此可以适当地考虑其他聚类中的图像样本。步骤S2302-1中的一级聚类中心所属的聚类(也称为一级聚类)中的样本为一级正样本,而如将在步骤S2302-2中得到的二级聚类中心所属的聚类(也称为二级聚类)中的至少一部分图像样本为二级正样本。此外,训练样本集还应包括负样本。
因此,在步骤S2302-2中,基于所述N1个聚类的聚类中心之间的距离得到二级正样本集以及所述负样本集,在步骤S2302-3中,将所述一级正样本集和所述二级正样本集作为所述正样本集。
可选地,对于二级正样本集中的二级正样本的获取可以包括以下操作。针对每个一级聚类中心执行以下操作i-ii。
首先,在操作i中,确定所述N1个聚类的聚类中心中不是一级聚类中心的、与所述一级聚类中心最近的至少一个聚类中心,作为所述一级聚类中心对应的二级聚类中心。
具体地,与该一级聚类中心越接近的非一级聚类中心所属的聚类包括的图像样本,包含目标场景的可能性越高,因此一般可以仅选择与该一级聚类中心距离最近的一个或两个聚类中心作为该一级聚类中心对应的二级聚类中心,因为其余聚类中可能只有很少部分或者没有图像样本会包括该目标场景,因此可以不用考虑。当然,如果处理装置的计算能力足够,也可以选择更多的聚类中心来作为二级聚类中心,以获取更多包含目标场景的二级正样本。
然后,在操作ii中,确定该一级聚类中心与对应的二级聚类中心的距离,并将所确定的距离作为第一距离;以及在操作iii中,将该对应的二级聚类中心所属的聚类中满足第一条件的图像样本确定为用于组成二级正样本集的二级正样本,其中,所述满足第一条件的图像样本与所述一级聚类中心的距离为第二距离,并且所述第二距离与所述第一距离满足第一预设阈值条件。
例如,第二距离(用d2表示)与第一距离(用d1表示)满足的第一预设阈值条件可以为d2与d1的第一比率小于等于r1,r1大于0小于等于1。
更具体地,假设上述r1为3/4,针对一级聚类中心k1,其对应的二级聚类中心为k1’(与k1距离最近的一个聚类中心),且二级聚类中心k1’与一级聚类中心k1的距离(第一距离)为d1’,二级聚类中心k1’其所属的聚类的图像样本s1’和s2’的特征向量与一级聚类中心k1的距离(第二距离)d2’和d2”与d1’的比率都为1/2,因此,图像样本s1’和s2’可以被作为二级正样本。或者,针对存在两个二级聚类中心的情况,针对一级聚类中心k1,其对应的二级聚类中心为k11和k12(与k1距离最近的两个聚类中心),且二级聚类中心k11与一级聚类中心k1的距离(第一距离)为d11,二级聚类中心k12与一级聚类中心k1的距离(第一距离)为d12。针对二级聚类中心k11,其所属的聚类的图像样本s1和s2的特征向量与一级聚类中心k1的第二距离d21和d22与d11的比率都为1/2(小于3/4);针对二级聚类中心k11,其所属的聚类的图像样本s3的特征向量与一级聚类中心k2的第二距离d23与d12的比率为3/4,因此,二级聚类中心k11和k12所属的聚类中的图像样本s1-s3可以被作为二级正样本。
以上S2302-1和S2302-2的上述操作具体描述了在本公开的实施例中,基于原型图像以及视频图像库中的视频图像的分布特性从视频图像库挖掘正样本(包括一级正样本和二级负样本)的过程,以下描述挖掘负样本的过程。同样的,操作iv-vi也可以针对每个一级聚类中心执行。
继续参考图4B,在操作iv中,确定所述N1个聚类的聚类中心中与该一级聚类中心距离最远的N3个聚类的聚类中心,并将所确定的该N3个聚类的聚类中心作为所述一级聚类中心对应的N3个备选负样本聚类中心,N3为大于1的整数。
可选地,可以对该N3个备选负样本聚类中心按照与该一级聚类中心的距离进行降序排序,用于下一步骤的确定每个一级聚类中心对应的负样本聚类中心的过程的简化。
在操作v中,基于所述N3个备选负样本聚类中心各自与所述一级聚类中心的距离、以及与各自对应的二级聚类中心的距离,选择所述N3个备选负样本聚类中心之一作为所述一级聚类中心对应的负样本聚类中心。
可选地,该步骤可具体包括针对每个一级聚类中心进行如下操作:针对所述一级聚类中心对应的每个备选负样本聚类中心执行以下过程,直到该备选负样本聚类中心被确定为该一级聚类中心对应的负样本聚类中心:确定所述备选负样本聚类中心与所述一级聚类中心的距离,并将所确定的距离作为第三距离;将所有二级聚类中心中与所述备选负样本聚类中心距离最近的二级聚类中心作为与所述备选负样本聚类中心对应的二级聚类中心;确定所述备选负样本聚类中心与其对应的二级聚类中心的距离,并将所确定的距离作为第四距离;并且在所述第三距离与所述第四距离满足第二预设阈值条件的情况下,将该备选负样本聚类中心确定为该一级聚类中心对应的负样本聚类中心。
例如,第二阈值条件可以为第四距离(例如,图5中的ds2)与第三距离(例如,ds1)的第二比率大于r2,r2大于0小于等于1,例如r2=0.5。也就是说,该一级聚类中心对应的负样本聚类中心与所有二级聚类中心的距离要足够远。这样设置的考虑为:由于二级聚类中心所属的聚类中可能仅有少部分的样本包含目标场景,且二级聚类中心是比较靠近一级聚类中心的,如果备选负样本聚类中心与所有二级聚类中心的距离还足够远(通过基于该备选负样本聚类中心与其最近的一个二级聚类中心的距离来进行判断),那么说明该备选负样本聚类中心所属的聚类中的样本更不可能包含目标场景。
由于后续要针对每个备选负样本聚类中心确定该备选负样本聚类中心是否可以作为该一级聚类中心的负样本聚类中心,且在确定出负样本聚类中心之后就不再对该一级聚类中心对应的后续的备选负样本聚类中心进行判断,并且,如果某一聚类中心与该一级聚类中心的距离越远,则该聚类中心为负样本聚类中心的可能性越大,因此,可以对该N3个备选负样本聚类中心按照与该一级聚类中心的距离进行降序排序,从而可以将为负样本聚类中心的可能性更大的备选负样本聚类中心放置在靠前的位置,因此,可以更快地找到该一级聚类中心对应的负样本聚类中心。
此外,针对每个一级聚类中心,也可能存在该一级聚类中心向量对应的负样本聚类中心不存在的情况(其他聚类中心与该一级聚类中心的距离均不够远),在这种情况下,将停止针对该一级聚集中心对应的负样本聚类中心的确定,而进行针对下一个一级聚集中心对应的负样本聚类中心的确定。
最后,在操作v中,将该一级聚类中心对应的负样本聚类中心所属的聚类中的所有图像样本作为用于组成负样本集的负图像样本。
图5示例性地示出了根据上述参考图4A-4B描述的方法从视频图像库的所述多个视频图像中挖掘出正负样本的结果示意图。
如图5所示,示出了四种样本的示例(用具有不同填充的圆圈标识)。
图5中,纯白色填充图案表示的一级聚类中心所属的聚类中的一级正样本,纯灰色填充图案表示的是二级聚类中心所属的聚类中的多个样本(不是二级正样本),竖线填充图案表示的是二级聚类中心所属的聚类中的二级正样本,斜线填充图案表示的是负样本,图中的X表示各个聚类中心。
在图5中,二级聚类中包括多个样本,但是其中的一些可能是负样本(即,不包含目标场景),因此通过前文所述的第一预设阈值条件而从中筛选出少量的与一级聚类中心所属的聚类中的图像样本更相似的样本作为二级正样本,以完成对该二级聚类中心所属的聚类中的负样本的清洗(即,不使用该二级聚类中心所属的聚类中的负样本)。此外,通过前文所述的第二预设阈值条件而可以选择离所有二级聚类中心都很远的负样本聚类,从而筛选出的负样本的正确性可以更高。
应注意,上述二级聚类中心、负样本聚类中心的选择采用的是聚类中心间的距离判断,当然,可以通过其他方式,例如,采用每个聚类中的图像样本判断,例如用任两个聚类中的样本之间的最近的样本距离来代替聚类中心之间的距离,而类似地进行各种距离判断,相应调整参数(例如,第一比率、第二比率等)即可,例如,第一聚类包括A个图像样本,第二聚类包括B个图像样本,第一聚类中的第r个图像样本(r=1、2、…A之一)与第二聚类中的第s个图像样本(s=1、2、…B之一)这两者的距离是第一聚类和第二聚类中的其他样本之间最近的距离,因此将该距离当做这两个聚类之间的样本距离,而用于确定二级聚类中心和负样本聚类中心。
上述获取正负样本集的过程可以简单概括为如图4C所示的过程,其中,首先基于视频图像库(多个视频图像)的分布特性以及原型图像而得到一级正样本,然后基于获取一级正样本过程中所确定的一级聚类中心得到二级聚类中心,进而确定二级聚类中心中的至少一部分图像样本为二级正样本。此外,负样本的获取也是基于各个二级聚类中心和一级聚类中心的。
通过上述参考图4A-4C和图5描述的方法,可以从视频库(视频图像库)挖掘到多个正样本和负样本,正样本和负样本可以构成训练样本集来对目标场景识别模型进行训练。基于该训练样本集训练的目标场景识别模型可以对目标场景进行一定程度的识别,且这种方式能够大量降低待标注的样本,并且在要识别的目标场景更换时,可以容易地将模型训练方法直接迁移到其他目标场景识别任务中。
但是,通常,如以下结合图6所描述的,获取到的正负样本均是通过视频图像库中的视频图像的分布特性(例如各个聚类中心之间或聚类中的样本之间的距离)来进行挖掘的,会存在一定的噪声。
图6示出了基于示例的6个视频的视频库来挖掘出的正样本的分布情况。
下图中1~6表示有6个视频,每个视频圈起来的是视频中的特征向量分布,如1视频有4张视频图像则有四个特征向量,每个特征向量被标示来+/-分别表示该视频图像是否包含目标场景。可以看到视频2、4是包含目标场景的,对于这种每个视频中包含了很多视频图像,根据这些视频图像是否为目标场景(例如,投篮)可以判断该视频是否包含目标场景,可以视为多示例学习问题,其中每个视频可以视为一个图像“包”。
灰色虚线框表示了纯净的正样本(如都是“投篮”图片),期望挖掘到的正样本越干净越好,但是实际上不可能绝对纯净,例如,黑色实线框表示通过上述方法实际挖掘到的带噪的样本(包括假阳性的正样本),其中三角形表示用户输入的原型图像的特征向量,由于正样本的挖掘是以原型图像驱动的,因此可以看到挖掘到的正样本(包括假阳性的正样本)分布在原型图像的特征向量四周。黑色实线框中的假阳性正样本(实际为负样本)与目标场景(例如投篮)有一定相关性,但不是目标场景(例如,实际是传球)。此外,也可能存在假阴性的负样本(实际为正样本)的情况。
因此,针对上述问题,在挖掘到上述正负样本之后,可以在后续训练阶段对噪声样本(包括假阳性的正样本、假阴性的负样本)进行识别并将识别出的噪声样本舍弃,从而使用于实际模型训练(参数调整)的正负样本的标签尽可能准确,使得能够在降低标注量以及简化场景迁移的同时,还能提高经这些正负样本训练后的目标场景识别模型的识别准确度,同时也能提升歧义样本的容错能力。
因此,对于图2中的步骤S240,还可以参考图7来进行描述各个子步骤。
图7示出了利用包括噪声样本的训练样本集对所述目标场景识别模型进行训练的更多子步骤。
如图7所示,在步骤S2401中,利用预设数据集对目标场景识别模型进行预训练,以确定所述目标场景识别模型的初始参数,并调整所述目标场景识别模型的输出层的结构参数。
如前面针对步骤S240所描述的,可以采用开源的在ImageNet数据集上预训练的ResNet101模型参数,作为目标场景识别模型的初始模型参数,即Conv1-Conv5采用在ImageNet数据集上预训练的ResNet101的参数。此外,由于要利用所获取的上述图像样本集再次对目标场景识别模型进行训练,该模型针对一个图像的分类输出只存在两种情况(包含目标场景和不包含目标场景),实际是一个二分类的问题,因此需要将表2所述的Fc层替换掉,而换成新的分类层Fc_cr(候选场景数为2),并且针对该层Fc,可以采用方差为0.01,均值为0的高斯分布进行初始化。然而,将初始化的目标场景识别模型的所有参数都设置为需要学习(需要调整)的状态,以利用挖掘得到的训练样本集(包括噪声样本)来进行训练,并不断调整模型的各个参数。
针对模型的训练,一般可以将训练样本集分为多个批次(batch),因为模型一次可能无法处理所有训练样本,然后可以基于每个批次的训练样本的计算结果来调整一次模型参数。然后,将下一个训练样本子集用于对调整了参数的模型进行下一次训练,并继续进行参数调整。此外,一个训练样本集可以多次用于模型训练,直至模型参数收敛。
在步骤S2402中,将所述训练样本集划分为多个训练样本子集。
例如,一般将所述训练样本集分批次进行处理,每个批次(batch)包括bs张视频图像,对应一个训练样本子集,即batchsize的值为bs,bs为大于1的整数。并且,基于每批次(batch)的视频图像的前向计算结果而调整一次模型参数,如后文将描述的。
在步骤S2403中,针对每个训练样本子集(包括bs张视频图像)进行以下各项操作。
首先,操作i,从所述正样本集和所述负样本集中分别按预设比例随机选择一部分正样本(正样本子集)和一部分负样本(负样本子集),作为用于该训练样本子集的参考图像样本集(包括的正负样本子集分别用pos和neg来表示)。
例如,如果训练样本集一共包括5万个视频图像(例如正样本集为3万个,负样本集为2万个),而预设比例为1/5,那么分别选择正样本集和负样本集中各自1/5的视频图像(正样本6000张,负样本4000个,共选择1万个视频图像)来作为该训练样本子集(bs例如为100)的参考图像样本集。
这里通过随机选择一部分正负样本,可以降低处理复杂度,并且针对不同的训练样本子集可以随机选择出不同的参考图像样本集,从而可以实现正则化的效果以提高后续的噪声样本去除的准确性。
然后,操作ii,基于所述参考图像样本集中的参考图像样本的分布特性和标签、以及该训练样本子集中的图像样本的标签确定所述训练样本子集的有效图像样本。
更具体地,首先,所述参考图像样本集中的参考图像样本的分布特性也可以通过聚类得到,即可以分别对所述正样本子集和所述负样本子集进行聚类,得到N4个正样本聚类和N4个负样本聚类,N4为大于1的正整数。
例如,N4=20,分别对所述正样本子集和所述负样本子集(分别用pos和neg表示)进行聚类,得到20个正样本聚类和20个负样本聚类,因此有20个针对正样本子集的聚类中心(称为正聚类中心)以及20个针对负样本子集的聚类中心(称为负聚类中心),且每个聚类中可能仅包括标签为“1”的正样本的视频图像、仅包括标签为“0”的负样本的视频图像、同时包括标签为“1”的正样本和标签为“0”的负样本的视频图像。
然后,确定操作i中的所述正样本子集中分别与所述N4个正样本聚类的每个正聚类中心距离最近的参考图像样本,以及确定操作i中的所述负样本子集中分别与所述N4个负样本聚类的每个负聚类中心距离最近的参考图像样本,得到2*N4个参考图像样本。
例如,在N4=20的情况下,可以得到40个参考图像样本,并且每个参考图像样本的标签是已知的。
接着,针对该训练样本子集中的bs个图像样本中的每个图像样本,确定所述2*N4个参考图像样本中、与该图像样本距离最近的一个参考图像样本,并且在该距离最近的一个参考图像样本的标签与该图像样本的标签相同的情况下,确定该图像样本为有效图像样本。
也就是说,例如,对于bs个图像样本中的第p个图像样本(p大于等于1且小于等于bs),将该第p个图像样本的特征向量与2*N4个参考图像样本中的每个参考图像样本的特征向量的距离进行计算,而确定出与某个参考图像样本的特征向量的距离最接近,那么进一步确定该第p个图像样本的标签(1或0)是否与该个参考图像样本的标签是一致的,如果是,则确定该第p个图像样本为可以用于训练的有效图像样本,反之,则说明该第p个图像样本的标签的准确性可能存在模糊性,极有可能是噪声样本,因此应该被舍弃。
通过该步骤,能够将该bs个图像样本中的噪声样本去除,即这些噪声样本将不用于目标场景识别模型的参数调整,而剩余的图像样本将用于目标场景识别模型的参数调整。
此外,在该操作ii中,针对训练样本子集中的bs个图像样本,会使用到该训练样本子集中的bs个图像样本的特征向量,以及参考图像样本集中的参考图像样本的特征向量,以用于进行距离计算以及聚类。因此,在进行操作ii中的聚类过程之前,可以先将该训练样本子集的图像样本以及此时针对该训练样本子集随机选择的参考图像样本集中的所有参考图像样本(包括噪声样本)分别输入该目标场景识别模型,该目标场景识别模型基于当前的模型参数而在最大池化层分别输出各个图像样本的特征向量。
显然,该训练样本子集中的bs个图像样本中的每个图像样本输入到该目标场景识别模型中之后,还可以在全连接层(Fc_cr)输出预测概率向量(二分类对应二维特征向量),例如(0.95,0.05),这表示该图像样本为正样本(标签为1)的概率为0.95,为负样本(标签为0)的概率为0.05。如果该图像样本按照上述操作被确定为是有效图像样本,则该预测概率向量将用于对目标场景识别模型的参数调整中。通常,在所述训练样本子集中的有效图像样本均经过前向计算得到误差值之后,对目标场景识别模型的参数进行一次调整。
因此,最后,在步骤S2403中,利用所述训练样本子集中的有效图像样本对所述目标场景识别模型的当前参数进行调整。
可选地,可以利用误差反向传播算法并结合梯度下降法来进行参数调整。
具体地,在确定了可以用于训练目标场景识别模型的该训练样本子集中的有效图像样本之后,采用下述交叉熵损失函数计算每个有效图像样本的前向计算的损失(loss),
其中y=1表示正标签,0表示负标签,表示预测的正标签概率,表示预测的负标签概率。将每个有效图像样本对应的损失相加,作为该训练样本子集的总损失,用于反向传播到目标场景识别模型(例如卷积神经网络模型),计算梯度并更新目标场景识别模型的参数(例如,卷积模板参数和编制参数等),从而实现一次参数调整(权重优化)。
在针对该训练样本子集调整了一次目标场景识别模型的参数之后,又继续针对下一个训练样本子集进行相同的操作。此外,在训练样本集的所有批次的图像样本(训练样本子集)均对目标场景识别模型进行了参数调整之后,即经过一个纪元(epoch)后,又重新利用该训练样本集(可以舍弃上一次训练过程确定的噪声样本,也可以不舍弃)再次分批次对目标场景识别模型继续进行参数调整,直至目标场景识别模型的参数收敛(例如,目标损失函数收敛)。
可选地,可以在基于当前训练样本集进行预设次数的参数调整之后,或者基于当前训练样本集目标场景识别模型的参数已收敛,而再次基于目标场景识别模型的当前参数,而利用目标场景识别模型(例如,Conv1-Conv5层和最大池化层)进行新一轮的正负样本挖掘(如前面参考图2-5所描述的),得到更新的训练样本集,并且然后进行如图7所描述的训练过程,继续对目标场景识别模型进行训练。
由此可见,通过参考图7所描述的训练过程,可以对噪声样本(包括假阳性的正样本、假阴性的负样本)进行识别并将识别出的噪声样本舍弃,从而使用于实际模型训练(参数调整)的正负样本的标签尽可能准确,使得能够在降低标注量以及简化场景迁移的同时,还能提高经这些正负样本训练后的目标场景识别模型的识别准确度,同时也能提升歧义样本的容错能力。
根据本公开的另一方面,还提供了一种用于识别目标场景的方法。图8A-8B示出了根据本公开实施例的用于识别目标场景的方法的流程示意图。该训练方法可以通过具有处理功能的任何计算设备来执行,例如图1B中所示的服务器(包括云服务器)和/或用户终端,或者如图1D所示的区块链系统中的各个节点处的计算设备来执行。如图8A所示,在步骤S810中,获取待识别视频。
例如,可以在服务器中执行该方法,此时该待识别视频可以是服务器本地存储的,或者可以是用户终端向服务器发送该待识别视频或其下载地址。当然,可以在具有处理功能的任何装置中执行该方法,待识别视频可以从外部获取,或者本地调用。
在步骤S820中,基于所述待识别视频生成待识别视频图像库。
例如,通过对该待识别视频进行抽帧而生成待识别视频图像库。
在步骤S830中,通过目标场景识别模型来识别所述待识别视频图像库中的视频图像是否包含目标场景,其中该目标场景识别模型是参考图2-7所描述的训练方法来进行训练的。
步骤S830的更多细节已经在前文的训练方法中进行了详细描述,因此这里不再重复。
在步骤S840中,在所述待识别视频图像库中的至少一个视频图像包含所述目标场景的情况下,确定所述待识别视频包含所述目标场景。
此外,可以在训练后的目标场景识别模型的实际应用中(实际用于目标场景识别)加入人工校验环节,并根据人工校验的结果来得到更多的原型图像,并针对错误案例进行更正,从而进一步对模型进行优化。
因此,目标场景识别方法还可以包括以下步骤。
如图8B所示,在步骤S850中,利用所述目标场景识别模型对多个待识别视频进行目标场景识别,得到多个识别结果。
例如,在目标场景识别模型的实际应用中,将每次的识别结果都进行保存。
在步骤S860中,接收对所述多个待识别视频中的至少一个待识别视频的复核结果。
可选地,基于人工对所述多个待识别视频中的至少一个待识别视频进行复核,得到至少一个人工复核结果。一般是对识别结果为不包含目标场景的待识别视频进行抽查,因为如果该待识别视频如果实际是包含目标场景的,则可以从中获取新的原型图像,充分利用现有资源。
在步骤S870中,在针对任一待识别视频的识别结果指示不包含所述目标场景但人工复核结果指示包含所述目标场景的情况下,将该待识别视频的图像库中包含所述目标场景的视频图像作为新的原型图像,用于选择目标场景识别模型的新的训练样本集。
可选地,在人工确定被模型识别为不包含目标场景的某个待识别视频实际上是包含目标场景的情况时,人工对错误图像样本进行定位(例如,确定视频的哪一帧的视频图像包含目标场景),以提取出图像样本,作为新的原型图像进行存储,因此,在模型的下一次训练时,又可以基于更新后的原型图像来挖掘训练样本集,并用于模型的下一次训练,如参考图2-5所描述的那样。
可选地,在人工确定被模型识别为包含目标场景的某个待识别视频确实是包含目标场景的情况时,也可以从该待识别视频中定位包含目标场景的视频帧(视频图像),也作为新的原型图像。
可选地,在人工确定被模型识别为包含目标场景的某个待识别视频实际上不包含目标场景的情况时,考虑到这种情况时也无法增加原型图像,并且少许的识别误差可以被允许的,因此本公开的实施例可以不考虑这种情况。
示例过程可以参考图9。图9示出了加入了人工校验环节的本公开的目标场景识别方法所涉及的交互示意图。
如图9所示,用户输入了多个视频,经训练后的目标场景识别模型会输出多个识别结果(未示出),可随机抽取部分视频给人工检查,如果人工检查发现如果判断为否(不包含目标场景)的视频实际上是投篮,则人工进行错误样本反馈并对视频中哪一帧图像样本包含目标场景,即为正样本,然后将该图像样本作为新的原型图像加入到原型图像中,进行下一次训练的训练样本集的样本挖掘,以用于下一次模型训练。更新后的目标场景识别模型可以用于新的目标场景识别任务。
基于参考图8A-8B和9描述的目标场景识别方法,除了以上参考图2-7描述的训练方法所具有的优点之外,由于还引进了人工复核,并根据人工复核结果与识别结果不一致(识别结果为不包含目标场景)来增加原型图像,因此可以得到更多的原型图像,并针对错误案例进行更正,从而可以进一步对模型进行优化。
根据本公开的又一方面,还提供了一种用于目标场景识别模型的训练装置。
图10A-10B示出了用于目标场景识别模型的训练装置1000的结构框图。
如图10A所示,该训练装置包括第一获取模块1010、第一图像库生成模块1020、样本选择模块1030和训练模块1040。
第一获取模块1010用于获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含所述目标场景,所述视频库中的视频具有与所述目标场景相关联的标识信息,其中N为大于1的整数。
第一图像库生成模块1020用于基于所述视频库得到视频图像库,所述视频图像库包括多个视频图像。例如,可以通过视频抽帧,而得到组成每个视频的所有视频图像。
样本选择模块1030用于基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集。
训练模块1040用于利用所述训练样本集对所述目标场景识别模型进行训练。
更具体地,如图10B所述,第一获取模块1010可以包括获取子模块和筛选子模块。获取子模块用于获取初始视频库、目标场景的关键词以及多个原型图像,筛选子模块用于基于目标场景的内容,利用与目标场景的内容相同的关键词或者可选地利用语义扩展的多个关键词而从初始视频库中筛选出具有与目标场景相关联的标识信息的视频库。
样本选择模块1030可以包括聚类子模块、距离确定子模块、样本挖掘子模块。
聚类子模块用于对所述多个视频图像进行聚类,以得到N1个聚类,N1为大于1的整数且小于所述视频库的视频数量。
距离确定子模块用于计算每个原型图像与所述N1个聚类的聚类中心之间的距离、以及所述N1个聚类的聚类中心之间的距离、以及如下文所述的二级聚类中心所属聚类中的样本与对应的一级聚类中心的距离。
样本挖掘子模块用于基于距离确定子模块确定的各个距离,来从所述多视频图像中挖掘出正负样本集(训练样本集)。
根据本公开的实施例,样本挖掘子模块被配置为执行如下操作。
首先,样本挖掘子模块基于每个原型图像与所述N1个聚类的聚类中心之间的距离得到一级正样本集。
具体地,针对每个原型图像,将所述N1个聚类的聚类中心中与该原型图像距离最近的N2个聚类的聚类中心作为该原型图像对应的一级聚类中心,N2为大于1的整数;以及将所述N个原型图像对应的所有一级聚类中心所属的聚类中的所有图像样本作为一级正样本集中包括的一级正样本。
其次,样本挖掘子模块基于所述N1个聚类的聚类中心之间的距离得到二级正样本集以及所述负样本集。
具体地,针对二级正样本集,样本挖掘子模块对于每个一级聚类中心,确定所述N1个聚类的聚类中心中不是一级聚类中心的、与所述一级聚类中心最近的至少一个聚类中心,作为所述一级聚类中心对应的二级聚类中心,确定所述一级聚类中心与所述二级聚类中心的距离,并将所确定的距离作为第一距离;以及将所述二级聚类中心所属的聚类中满足第一条件的图像样本确定为二级正样本集中包括的二级正样本,其中,所述满足第一条件的图像样本与所述一级聚类中心的距离为第二距离,并且所述第二距离与所述第一距离满足第一预设阈值条件。
然后,针对负样本集,样本挖掘子模块执行以下操作:对于每个一级聚类中心,确定所述N1个聚类的聚类中心中与所述一级聚类中心距离最远的N3个聚类的聚类中心,并将所确定的N3个聚类的聚类中心作为所述一级聚类中心对应的N3个备选负样本聚类中心,N3为大于1的整数;基于所述N3个备选负样本聚类中心各自与所述一级聚类中心的距离、以及与各自对应的二级聚类中心的距离,选择所述N3个备选负样本聚类中心之一作为所述一级聚类中心对应的负样本聚类中心;将所述一级聚类中心对应的负样本聚类中心所属的聚类中的所有图像样本作为负样本集中包括的负样本。
具体地,关于选择所述N3个备选负样本聚类中心之一作为该一级聚类中心对应的负样本聚类中心的操作,对于每个一级聚类中心,样本挖掘子模块和距离确定子模块针对该一级聚类中心对应的每个备选负样本聚类中心执行以下过程,直到该备选负样本聚类中心被确定为该一级聚类中心对应的负样本聚类中心:距离确定子模块确定所述备选负样本聚类中心与所述一级聚类中心的距离,并将所确定的距离作为第三距离,以及确定所述备选负样本聚类中心与其对应的二级聚类中心的距离,并将所确定的距离作为第四距离,并且样本挖掘子模块将所有二级聚类中心中与所述备选负样本聚类中心距离最近的二级聚类中心作为与所述备选负样本聚类中心对应的二级聚类中心,并且在所述第三距离与所述第四距离满足第二预设阈值条件的情况下,将该备选负样本聚类中心确定为该一级聚类中心对应的负样本聚类中心。
样本选择模块1030包括的各个子模块的上述操作可以生成训练图像集,但是该训练图像集中会包括一些噪声样本(例如,假阳性的正样本和假阴性的负样本),因此可以在训练模块的操作中将这些噪声样本尽可能地舍弃。
样本选择模块1030的上述操作的更多细节与在前文参考图4A-5描述的步骤S230的内容基本一致,因此这里不再进行重复。
训练模块1040可以包括预训练子模块、划分子模块、训练子模块。
预训练子模块用于利用预设数据集对目标场景识别模型进行预训练,以确定所述目标场景识别模型的初始参数,并调整所述目标场景识别模型的输出结构参数。该预设数据集可以是用于分类任务的任何开源的数据集,所述目标场景识别模型可以是深度神经网络模型。
划分子模块用于将所述训练样本集划分为多个训练样本子集。
训练子模块用于针对每个训练样本子集进行如下操作。
首先,从所述正样本集和所述负样本集中分别按预设比例随机选择正样本子集和负样本子集,作为用于该训练样本子集的参考图像样本集。
然后,基于所述参考图像样本集中的参考图像样本的分布特性和标签、以及该训练样本子集中的图像样本的标签确定该训练样本子集的有效图像样本。
具体地,分别对所述正样本子集和所述负样本子集进行聚类,得到N4个正样本聚类和N4个负样本聚类,N4为大于1的正整数;确定所述正样本子集中分别与所述N4个正样本聚类的每个正聚类中心距离最近的参考图像样本,以及确定所述负样本子集中分别与所述N4个负样本聚类的每个负聚类中心距离最近的参考图像样本,得到2*N4个参考图像样本;针对所述训练样本子集中的每个图像样本,确定所述2*N4个参考图像样本中、与所述图像样本距离最近的一个参考图像样本,并且在所述距离最近的一个参考图像样本的标签与所述图像样本的标签相同的情况下,确定所述图像样本为有效图像样本。
最后,利用所述训练样本子集中的有效图像样本对所述目标场景识别模型的当前参数进行一次调整。
训练模块1040的上述操作的更多细节与在前文参考图7描述的步骤S240的内容基本一致,因此这里不再进行重复。
通过上述参考图10A-10B描述的训练装置,可以基于原型图像从视频库(视频图像库)挖掘到多个正样本和负样本,正样本和负样本可以构成训练样本集来对目标场景识别模型进行训练。基于该训练样本集训练的目标场景识别模型可以对目标场景进行一定程度的识别,且这种方式能够大量降低待标注的样本,并且在要识别的目标场景更换时,可以容易地将模型训练方法直接迁移到其他目标场景识别任务中。
此外,还可以对噪声样本(包括假阳性的正样本、假阴性的负样本)进行识别并将识别出的噪声样本舍弃,从而使用于实际模型训练(参数调整)的正负样本的标签尽可能准确,使得能够在降低标注量以及简化场景迁移的同时,还能提高经这些正负样本训练后的目标场景识别模型的识别准确度,同时也能提升歧义样本的容错能力。
根据本公开的再一方面,还提供了一种目标场景识别装置。
图11示出了目标场景识别装置1100的结构框图。
如图11所示,目标场景识别装置1100包括第二获取模块1110、图像生成模块1120、识别模块1130和确定模块1140。
第二获取模块1110用于获取待识别视频。
第二图像库生成模块1120用于基于所述待识别视频生成待识别视频图像库。
识别模块1130用于通过目标场景识别模型来识别所述待识别视频图像库中的视频图像是否包含目标场景,其中,该目标场景识别模型可以是本地的或者从外部获取的,并且该目标场景识别模型是根据如参考图2-7所述的训练方法来训练得到的。
确定模块1140,用于在所述待识别视频图像库中的至少一个视频图像包含所述目标场景的情况下,确定所述待识别视频包含所述目标场景。
可选地,该目标场景识别装置还可以包括人工复核模块,该人工复核模块用于接收对该多个待识别视频中的至少一个待识别视频的复核结果,并且在针对任一待识别视频的识别结果指示不包含目标场景但复核结果指示包含目标场景的情况下,将该待识别视频的图像库中包含目标场景的视频图像作为新的原型图像,用于选择目标场景识别模型的新的训练样本集,可选地,本地保存该新的原型图像,或将新的原型图像发送到其他原型图像被存储的位置。
可选地,该目标场景识别装置1100可以包括参考图10A描述的目标场景识别模型的训练装置1000。
各个模块的更多细节与在前文参考图8A-9描述的内容基本一致,因此这里不再进行重复。
通过本公开实施例的目标场景识别装置,除了以上参考图2-7描述的训练方法所具有的优点之外,由于还引进了人工复核,并根据人工复核结果与识别结果不一致(识别结果为不包含目标场景)来增加原型图像,因此可以得到更多的原型图像,并针对错误案例进行更正,从而可以进一步对模型进行优化。
应注意,在参考图10A-11描述的装置中,根据各个功能的划分而将各个装置描述为包括不同的模块,但是该装置可以根据不同的功能划分方式而包括更多或更少的模块。
根据本公开的再一方面,还提供了一种计算设备。图12示出了根据本公开实施例的计算设备1200的结构框图。该计算设备包括:处理器;和存储器,其上存储有指令,所述指令在由所述处理器执行时,使得所述处理器执行如参考图2-7所述的训练方法的各个步骤以及参考图8A-9所述的目标场景识别方法的各个步骤。
所述计算设备可以为计算机终端、移动终端或其它具有计算和处理能力的设备,所述计算设备还可以参与构成或包含本公开实施例所提供的训练装置。
所述计算设备可以是例如图1B中所示的服务器(包括云服务器)和/或用户终端,或者如图1D所示的区块链系统中的各个节点处的计算设备。
处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开的实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X84架构或ARM架构的。
存储器可以是非易失性存储器,诸如只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。应注意,本公开描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
计算设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
根据本公开的另一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如参考图2-7所述的训练方法的各个步骤以及参考图8A-9所述的目标场景识别方法的各个步骤。
根据本公开的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如参考图2-7所述的训练方法的各个步骤以及参考图8A-9所述的目标场景识别方法的各个步骤。计算机程序可以存储在计算机可读存储介质中。
上述提到的存储介质可以是诸如只读存储器、磁盘或光盘等的非易失性存储介质。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (15)
1.一种用于目标场景识别模型的训练方法,包括:
获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含目标场景,所述视频库中的视频具有与所述目标场景相关联的标识信息,其中N为大于1的整数;
基于所述视频库得到视频图像库,所述视频图像库包括多个视频图像;
基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集;以及
利用所述训练样本集对所述目标场景识别模型进行训练。
2.根据权利要求1所述的训练方法,其中,所述标识信息为标题、描述、标签中的至少一项,所述视频库中的视频是基于所述目标场景的内容、针对所述标识信息从初始视频库进行筛选而得到的。
3.根据权利要求1所述的训练方法,其中,所述多个视频图像的分布特性通过对所述多个视频图像进行聚类得到,
其中,基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,包括:
对所述多个视频图像进行聚类,以得到N1个聚类,N1为大于1的整数且小于所述视频库的视频数量;
基于每个原型图像与所述N1个聚类的聚类中心之间的距离、以及所述N1个聚类的聚类中心之间的距离,得到所述正样本集和所述负样本集。
4.根据权利要求3所述的训练方法,其中,基于每个原型图像与所述N1个聚类的聚类中心之间的距离、以及所述N1个聚类的聚类中心之间的距离,得到所述正样本集和所述负样本集,包括:
基于每个原型图像与所述N1个聚类的聚类中心之间的距离得到一级正样本集;
基于所述N1个聚类的聚类中心之间的距离得到二级正样本集以及所述负样本集;以及
将所述一级正样本集和所述二级正样本集作为所述正样本集。
5.根据权利要求4所述的训练方法,其中,基于每个原型图像与所述N1个聚类的聚类中心之间的距离得到一级正样本集,包括:
针对每个原型图像,将所述N1个聚类的聚类中心中与所述原型图像距离最近的N2个聚类的聚类中心作为所述原型图像对应的一级聚类中心,N2为大于1的整数;以及
将所述N个原型图像对应的所有一级聚类中心所属的聚类中的所有图像样本作为用于组成所述一级正样本集的一级正样本。
6.根据权利要求5所述的训练方法,其中,基于所述N1个聚类的聚类中心之间的距离得到二级正样本集,包括:针对每个一级聚类中心,
确定所述N1个聚类的聚类中心中不是一级聚类中心的、与所述一级聚类中心最近的至少一个聚类中心,并将所述最近的至少一个聚类中心作为所述一级聚类中心对应的二级聚类中心,
确定所述一级聚类中心与所述对应的二级聚类中心的距离,并将所确定的所述一级聚类中心与所述对应的二级聚类中心的距离作为第一距离;以及
将所述对应的二级聚类中心所属的聚类中满足第一条件的图像样本确定为用于组成所述二级正样本集的二级正样本,其中,所述满足第一条件的图像样本与所述一级聚类中心的距离为第二距离,并且所述第二距离与所述第一距离满足第一预设阈值条件。
7.根据权利要求5或6所述的训练方法,其中,基于所述N1个聚类的聚类中心之间的距离得到所述负样本集,包括:针对每个一级聚类中心,
确定所述N1个聚类的聚类中心中与所述一级聚类中心距离最远的N3个聚类的聚类中心,并将所确定的所述N3个聚类的聚类中心作为所述一级聚类中心对应的N3个备选负样本聚类中心,N3为大于1的整数;
基于所述N3个备选负样本聚类中心各自与所述一级聚类中心的距离、以及与各自对应的二级聚类中心的距离,选择所述N3个备选负样本聚类中心之一作为所述一级聚类中心对应的负样本聚类中心;
将所述一级聚类中心对应的负样本聚类中心所属的聚类中的所有图像样本作为用于组成所述负样本集的负样本。
8.根据权利要求7所述的训练方法,其中,基于所述N3个备选负样本聚类中心各自与所述一级聚类中心的距离、以及与各自对应的二级聚类中心的距离,选择所述N3个备选负样本聚类中心之一作为所述一级聚类中心对应的负样本聚类中心,包括:
针对所述一级聚类中心对应的每个备选负样本聚类中心执行以下过程,直到该备选负样本聚类中心被确定为该一级聚类中心对应的负样本聚类中心:
确定所述备选负样本聚类中心与所述一级聚类中心的距离,并将所确定的所述备选负样本聚类中心与所述一级聚类中心的距离作为第三距离;
将所有二级聚类中心中与所述备选负样本聚类中心距离最近的二级聚类中心作为与所述备选负样本聚类中心对应的二级聚类中心;
确定所述备选负样本聚类中心与其对应的二级聚类中心的距离,并将所确定的所述备选负样本聚类中心与其对应的二级聚类中心的距离作为第四距离;
在所述第三距离与所述第四距离满足第二预设阈值条件的情况下,将所述备选负样本聚类中心确定为所述一级聚类中心对应的负样本聚类中心。
9.根据权利要求1所述的训练方法,其中,利用所述训练样本集对所述目标场景识别模型进行训练,包括:
利用预设数据集对目标场景识别模型进行预训练,以确定所述目标场景识别模型的初始参数,并调整所述目标场景识别模型的输出结构参数;
将所述训练样本集划分为多个训练样本子集;
针对每个训练样本子集:
从所述正样本集和所述负样本集中分别按预设比例随机选择正样本子集和负样本子集,作为用于所述训练样本子集的参考图像样本集;
基于所述参考图像样本集中的参考图像样本的分布特性和标签、以及所述训练样本子集中的图像样本的标签确定所述训练样本子集的有效图像样本;
利用所述训练样本子集中的有效图像样本对所述目标场景识别模型的当前参数进行一次调整。
10.根据权利要求9所述的训练方法,其中,基于所述参考图像样本集中的参考图像样本的分布特性和标签、以及所述训练样本子集中的图像样本的标签确定所述训练样本子集的有效图像样本,包括:
分别对所述正样本子集和所述负样本子集进行聚类,得到N4个正样本聚类和N4个负样本聚类,N4为大于1的正整数;
确定所述正样本子集中分别与所述N4个正样本聚类的每个正聚类中心距离最近的参考图像样本,以及确定所述负样本子集中分别与所述N4个负样本聚类的每个负聚类中心距离最近的参考图像样本,得到2*N4个参考图像样本;
针对所述训练样本子集中的每个图像样本,确定所述2*N4个参考图像样本中、与所述图像样本距离最近的一个参考图像样本,在所述距离最近的一个参考图像样本的标签与所述图像样本的标签相同的情况下,确定所述图像样本为有效图像样本。
11.一种用于识别目标场景的方法,包括:
获取待识别视频;
基于所述待识别视频生成待识别视频图像库;
通过目标场景识别模型来识别所述待识别视频图像库中的视频图像是否包含目标场景,其中所述目标场景识别模型根据权利要求1-10任一项所述的训练方法来训练;以及
在所述待识别视频图像库中的至少一个视频图像包含所述目标场景的情况下,确定所述待识别视频包含所述目标场景。
12.根据权利要求11所述的方法,还包括:
利用所述目标场景识别模型对多个待识别视频进行目标场景识别,得到多个识别结果;
接收对所述多个待识别视频中的至少一个待识别视频的复核结果;
在针对任一待识别视频的识别结果指示不包含所述目标场景但其对应的复核结果指示包含所述目标场景的情况下,将该待识别视频的视频图像库中包含所述目标场景的视频图像作为新的原型图像,用于选择目标场景识别模型的新的训练样本集。
13.一种用于目标场景识别模型的训练装置,包括:
获取模块,用于获取用于模型训练的N个原型图像以及视频库,所述N个原型图像包含目标场景,所述视频库中的视频具有与所述目标场景相关联的标识信息,其中N为大于1的整数;
图像库生成模块,用于基于所述视频库得到视频图像库,所述视频图像库包括多个视频图像;
样本选择模块,用于基于所述N个原型图像以及所述多个视频图像的分布特性,从所述多个视频图像中选择用于目标场景识别模型的训练样本集,所述训练样本集包括包含目标场景的正样本集和不包含目标场景的负样本集;以及
训练模块,用于利用所述训练样本集对所述目标场景识别模型进行训练。
14.一种计算设备,包括:
处理器;和
存储器,其上存储有指令,所述指令在由所述处理器执行时,使得所述处理器执行如权利要求1-12任一项所述的方法的各个步骤。
15.一种计算机可读存储介质,其上存储有指令,所述指令在由所述处理器执行时,使得所述处理器执行如权利要求1-12任一项所述的方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757819.2A CN113822130B (zh) | 2021-07-05 | 2021-07-05 | 模型训练方法、场景识别方法、计算设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110757819.2A CN113822130B (zh) | 2021-07-05 | 2021-07-05 | 模型训练方法、场景识别方法、计算设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113822130A true CN113822130A (zh) | 2021-12-21 |
CN113822130B CN113822130B (zh) | 2024-12-17 |
Family
ID=78924147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110757819.2A Active CN113822130B (zh) | 2021-07-05 | 2021-07-05 | 模型训练方法、场景识别方法、计算设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822130B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461986A (zh) * | 2022-01-17 | 2022-05-10 | 北京快乐茄信息技术有限公司 | 一种训练识别标识模型的方法、图像识别的方法和装置 |
CN114550242A (zh) * | 2022-01-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 训练人脸活体检测模型、人脸活体检测方法、装置及介质 |
WO2024139703A1 (zh) * | 2022-12-26 | 2024-07-04 | 腾讯科技(深圳)有限公司 | 对象识别模型的更新方法、装置、电子设备、存储介质及计算机程序产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165309A (zh) * | 2018-08-06 | 2019-01-08 | 北京邮电大学 | 负例训练样本采集方法、装置及模型训练方法、装置 |
CN109389162A (zh) * | 2018-09-28 | 2019-02-26 | 北京达佳互联信息技术有限公司 | 样本图像筛选方法和装置、电子设备及存储介质 |
CN110166826A (zh) * | 2018-11-21 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频的场景识别方法、装置、存储介质及计算机设备 |
CN111274472A (zh) * | 2018-12-04 | 2020-06-12 | 北京嘀嘀无限科技发展有限公司 | 信息推荐方法、装置、服务器及可读存储介质 |
US20200257940A1 (en) * | 2019-02-12 | 2020-08-13 | Canon Kabushiki Kaisha | Method, system and apparatus for generating training samples for matching objects in a sequence of images |
CN111652257A (zh) * | 2019-03-27 | 2020-09-11 | 上海铼锶信息技术有限公司 | 一种样本数据清洗方法及系统 |
US20200387755A1 (en) * | 2019-06-06 | 2020-12-10 | Home Depot Product Authority, Llc | Optimizing training data for image classification |
CN112233021A (zh) * | 2020-11-20 | 2021-01-15 | 福建师范大学 | 基于降质分类和定向数据增广的鲁棒人脸超分辨处理方法 |
CN112348117A (zh) * | 2020-11-30 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 场景识别方法、装置、计算机设备和存储介质 |
CN112800253A (zh) * | 2021-04-09 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 数据聚类方法、相关设备及存储介质 |
CN112990387A (zh) * | 2021-05-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 模型优化方法、相关设备及存储介质 |
-
2021
- 2021-07-05 CN CN202110757819.2A patent/CN113822130B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165309A (zh) * | 2018-08-06 | 2019-01-08 | 北京邮电大学 | 负例训练样本采集方法、装置及模型训练方法、装置 |
CN109389162A (zh) * | 2018-09-28 | 2019-02-26 | 北京达佳互联信息技术有限公司 | 样本图像筛选方法和装置、电子设备及存储介质 |
CN110166826A (zh) * | 2018-11-21 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频的场景识别方法、装置、存储介质及计算机设备 |
CN111274472A (zh) * | 2018-12-04 | 2020-06-12 | 北京嘀嘀无限科技发展有限公司 | 信息推荐方法、装置、服务器及可读存储介质 |
US20200257940A1 (en) * | 2019-02-12 | 2020-08-13 | Canon Kabushiki Kaisha | Method, system and apparatus for generating training samples for matching objects in a sequence of images |
CN111652257A (zh) * | 2019-03-27 | 2020-09-11 | 上海铼锶信息技术有限公司 | 一种样本数据清洗方法及系统 |
US20200387755A1 (en) * | 2019-06-06 | 2020-12-10 | Home Depot Product Authority, Llc | Optimizing training data for image classification |
CN112233021A (zh) * | 2020-11-20 | 2021-01-15 | 福建师范大学 | 基于降质分类和定向数据增广的鲁棒人脸超分辨处理方法 |
CN112348117A (zh) * | 2020-11-30 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 场景识别方法、装置、计算机设备和存储介质 |
CN112800253A (zh) * | 2021-04-09 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 数据聚类方法、相关设备及存储介质 |
CN112990387A (zh) * | 2021-05-17 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 模型优化方法、相关设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461986A (zh) * | 2022-01-17 | 2022-05-10 | 北京快乐茄信息技术有限公司 | 一种训练识别标识模型的方法、图像识别的方法和装置 |
CN114550242A (zh) * | 2022-01-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 训练人脸活体检测模型、人脸活体检测方法、装置及介质 |
WO2024139703A1 (zh) * | 2022-12-26 | 2024-07-04 | 腾讯科技(深圳)有限公司 | 对象识别模型的更新方法、装置、电子设备、存储介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN113822130B (zh) | 2024-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10438091B2 (en) | Method and apparatus for recognizing image content | |
CN109685110B (zh) | 图像分类网络的训练方法、图像分类方法及装置、服务器 | |
Tian et al. | Evolutionary programming based deep learning feature selection and network construction for visual data classification | |
CN111667022A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
US11443514B2 (en) | Recognizing minutes-long activities in videos | |
CN114358188B (zh) | 特征提取模型处理、样本检索方法、装置和计算机设备 | |
CN113366494A (zh) | 用于少样本无监督图像到图像转换的方法 | |
CN112396106B (zh) | 内容识别方法、内容识别模型训练方法及存储介质 | |
CN113822130B (zh) | 模型训练方法、场景识别方法、计算设备和介质 | |
CN113569895A (zh) | 图像处理模型训练方法、处理方法、装置、设备及介质 | |
Babu Sam et al. | Completely self-supervised crowd counting via distribution matching | |
CN111898703A (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
WO2019180310A1 (en) | A method, an apparatus and a computer program product for an interpretable neural network representation | |
CN114298122A (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
WO2022148108A1 (en) | Systems, devices and methods for distributed hierarchical video analysis | |
Hu et al. | Teacher-student architecture for knowledge distillation: A survey | |
CN113705596A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
Xu et al. | Slime Mold optimization with hybrid deep learning enabled crowd-counting approach in video surveillance | |
Sinha et al. | Human activity recognition from uav videos using an optimized hybrid deep learning model | |
Yan | Transfer Learning and Ensemble Learning | |
Flores-Munguía et al. | Leveraging a neuroevolutionary approach for classifying violent behavior in video | |
Shah et al. | Proposed Methodology for Disaster Classification Using Computer Vision and Federated Learning | |
CN117010480A (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
Rafa et al. | A Birds Species Detection Utilizing an Effective Hybrid Model | |
CN114328904A (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 |