CN110427998A - 模型训练、目标检测方法及装置、电子设备、存储介质 - Google Patents

模型训练、目标检测方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN110427998A
CN110427998A CN201910684497.6A CN201910684497A CN110427998A CN 110427998 A CN110427998 A CN 110427998A CN 201910684497 A CN201910684497 A CN 201910684497A CN 110427998 A CN110427998 A CN 110427998A
Authority
CN
China
Prior art keywords
training
target
trained
module
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910684497.6A
Other languages
English (en)
Inventor
张军伟
李�诚
梁逸清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Priority to CN201910684497.6A priority Critical patent/CN110427998A/zh
Publication of CN110427998A publication Critical patent/CN110427998A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本公开实施例公开了一种模型训练方法,该方法包括:获取训练指令,根据训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集,采用目标数据集对目标模型进行训练,得到训练好的目标模型,能够方便快捷地得到训练好的目标模型,从而提高了模型训练的效率。

Description

模型训练、目标检测方法及装置、电子设备、存储介质
技术领域
本公开涉及图像目标检测技术领域,尤其涉及一种模型训练、目标检测方法及装置、电子设备、存储介质。
背景技术
针对图像或者视频来说,目标检测已经成为计算机视觉领域的一个重要的分支,为了实现对图像或者视频中特定目标对象的检测,往往需要根据特定目标对象选取训练样本集,用训练样本集对预设的模型进行训练,从而得到训练好的模型,以完成对图像视频中特定目标对象的检测或者追踪。
然而,现有的目标检测模型,例如,few shot小样本模型训练过程,需要用户自行编辑代码实现算法模型框架之后选择数据集进行训练,过程难度大,普通用户难以实现,采用上述模型训练方法,需要进行大量的人工操作才能完成对图像或者视频中特定目标对象的检测或者追踪,成本高,耗时耗力,操作繁琐。
发明内容
本公开实施例提供一种模型训练、目标检测方法及装置、电子设备、存储介质。
本公开实施例的技术方案是这样实现的:
本公开实施例提供了一种模型训练方法,包括:
获取训练指令;
根据所述训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集;
采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型。
这样,减少了建立待训练模型和导入目标数据集所耗费的时间,在此基础上,采用目标数据集对目标模型进行训练,能够方便快捷地得到训练好的目标模型,从而提高了模型训练的效率。
在上述方案中,所述采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型,包括:
从所述目标数据集中选取出训练样本集,将所述目标数据集中除了所述训练样本集以外的数据集确定为测试样本集;
采用所述训练样本集对所述目标模型进行训练,得到第一模型;
采用所述测试样本集对所述第一模型进行测试,得到测试结果;
响应于所述测试结果符合预设条件,将通过测试的所述第一模型确定为所述训练好的目标模型。
通过将目标数据集划分为训练样本集和测试样本集,使得得到的训练好的目标模型更加有效精准。
在上述方案中,在采用所述测试样本集对所述第一模型进行测试,得到测试结果之后,所述方法还包括:
响应于所述测试结果不符合所述预设条件,对所述目标模型重新进行训练,以得到所述训练好的目标模型。
通过对第一模型进行测试,将不符合预设条件的目标模型重新进行训练,能够得到更加有效精准的训练好的目标模型。
在上述方案中,在采用所述训练样本集对所述目标模型进行训练,得到训练好的目标模型之后,所述方法还包括:
获取验证数据;
将所述验证数据输入至训练好的目标模型中,得到验证结果;
判断所述验证结果与所述验证数据的结果是否相同;
响应于所述验证结果与所述验证数据的结果相同,确定训练好的目标模型验证通过。
这里,采用验证数据和验证数据的结果来验证训练好的目标模型,能够得到更加有效精准的训练好的目标模型。
在上述方案中,在判断所述验证结果与所述验证数据的结果是否相同之后,所述方法还包括:
响应于所述验证结果与所述验证数据的结果不同,确定训练好的目标模型验证不通过,对所述训练好的目标模型进行重新训练,以得到通过验证的模型。
这里,针对验证不通过的模型重新进行训练,能够得到更加有效精准的训练好的目标模型。
在上述方案中,在获取训练指令之前,所述方法还包括:
接收训练参数;
根据所述训练参数,确定执行所述模型训练方法的硬件资源。
通过上述接收到的训练参数来确定模型训练的硬件资源,能够更加灵活的为每一个模型训练方法提供适合自身的硬件资源。
在上述方案中,在采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型之后,所述方法还包括:
接收对所述训练好的目标模型的训练数据的查询指令;
显示所述目标模型训练过程中的训练数据。
通过上述接收到的对训练好的目标模型的训练数据的查询指令,使得能够显示目标模型在过程中的训练数据,这样,为用户提供了更多的查询功能,方便用户查询相关数据。
在上述方案中,所述方法还包括:
接收新的待训练模型和所述新的待训练模型的训练算法;
将所述新的待训练模型加入至所述预先存储的待训练模型。
这里,及时地更新预先存储的待训练模型,能够及时地得到最新的待训练模型,那么,基于最新的待训练模型得到训练好的目标模型更加有效精准。
在上述方案中,所述方法还包括:
在所述目标模型为新的待训练模型的情况下,相应地,所述采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型,包括:
基于新的待训练模型的训练算法,采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型。
这里,基于新的待训练模型和新的待训练模型的训练算法来进行训练,使得得到的训练好的目标模型更加优化有效。
在上述方案中,所述根据所述训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集,包括:
根据训练指令从预先存储的待训练模型中选择目标模型;
接收到选择指令;
根据接收到的选择指令,从预先存储的数据集中选择目标数据集。
采用训练指令选择目标模型,采用选择指令选择目标数据集,分别通过两个指令来选择目标模型和目标数据集,能够根据自身的需求来选取出合适的目标模型和目标数据集,也提高了模型训练的灵活性。
在上述方案中,所述预先存储的数据集包括:视觉目标追踪数据集和目标追踪基准点数据集;
所述待训练模型包括:全连接孪生网络模型和孪生候选区域生成网络模型。
采用上述预先存储的数据集和待训练模型有利于提高模型训练的精度和准确度,得到更加有效精准的训练好的目标模型。
本公开实施例提供一种目标检测方法,包括:
获取待检测图像和所述待检测图像的目标对象;其中,所述目标对象为所述待检测图像中需要进行检测的对象;
从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型;
根据所述进行检测的目标模型和所述目标对象,对所述待检测图像进行识别,以在所述待检测图像中识别出所述目标对象;
其中,所述训练好的目标模型是采用如上任一方案所述的模型训练方法训练得到。
采用上述目标检测方法,扩展了目标检测的适用范围,简化了对待检测图像进行目标检测的繁琐步骤,在节省成本的同时缩短了实现目标检测的时间周期,从而能够简捷高效地实现对图像的目标检测或者对视频的目标追踪。
在上述方案中,所述从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型,包括:
根据所述目标对象的类别,从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型。
采用目标对象的类别确定进行检测的目标模型,使得确定出的进行检测的目标模型与目标对象相关,能够提高目标检测的精度。
在上述方案中,所述从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型,包括:
根据所述待检测图像和所述目标对象,从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型。
采用待检测图像和目标对象确定进行检测的目标模型,使得确定出的进行检测的目标模型更加适用于待检测图像和目标对象,从而能够提高对待检测图像中目标对象的识别精度。
在上述方案中,所述根据所述待检测图像和所述目标对象,从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型,包括:
从所述待检测图像中选取出预设帧数的图像,作为待测试图像;
基于所述目标对象,采用预先存储的训练好的目标模型中的每个训练好的目标模型,分别对所述待测试图像进行识别,得到每个训练好的目标模型对应的识别结果;
根据所述识别结果,从预先存储的训练好的目标模型中,为所述待测试图像所属的待检测图像确定对所述目标对象进行检测的目标模型。
这里,对每个训练好的目标模型进行识别,并根据识别结果来确定进行检测的目标模型,这样,得到的进行检测的目标模型的识别目标对象的准确率更高,更加有利于识别目标对象。
在上述方案中,所述根据所述识别结果,从预先存储的训练好的目标模型中,为所述待测试图像所属的待检测图像对所述目标对象进行检测的目标模型,包括:
将所述识别结果进行存储,接收到对所述识别结果的查询指令,响应所述查询指令,以显示所述识别结果;
接收到针对预先存储的训练好的目标模型的选取指令;
根据所述选取指令,从预先存储的训练好的目标模型中,确定对所述目标对象进行检测的目标模型。
通过显示识别结果使得用户能够根据识别结果选取出识别率高的模型作为进行检测的目标模型,从而能够提高对待检测图像中目标对象的识别精度。
本公开实施例提供了一种模型训练装置,所述模型训练装置包括:
第一获取模块,用于获取训练指令;
选择模块,用于根据所述训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集;
训练模块,用于采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型。
这样,通过该模型训练装置减少了建立待训练模型和导入目标数据集所耗费的时间,在此基础上,采用目标数据集对目标模型进行训练,能够方便快捷地得到训练好的目标模型,从而提高了模型训练的效率。
在上述模型训练装置中,所述训练模块,具体用于:
从所述目标数据集中选取出训练样本集,将所述目标数据集中除了所述训练样本集以外的数据集确定为测试样本集;
采用所述训练样本集对所述目标模型进行训练,得到第一模型;
采用所述测试样本集对所述第一模型进行测试,得到测试结果;
响应于所述测试结果符合预设条件,将通过测试的所述第一模型确定为所述训练好的目标模型。
通过训练模块将目标数据集划分为训练样本集和测试样本集,使得得到的训练好的目标模型更加有效精准。
在上述模型训练装置中,所述训练模块,还用于:
在采用所述测试样本集对所述第一模型进行测试,得到测试结果之后,响应于所述测试结果不符合所述预设条件,对所述目标模型重新进行训练,以得到所述训练好的目标模型。
通过训练模块对第一模型进行测试,将不符合预设条件的目标模型重新进行训练,能够得到更加有效精准的训练好的目标模型。
在上述模型训练装置中,所述装置还包括:
验证模块,用于:
在采用所述训练样本集对所述目标模型进行训练,得到训练好的目标模型之后,获取验证数据;
将所述验证数据输入至训练好的目标模型中,得到验证结果;
判断所述验证结果与所述验证数据的结果是否相同;
响应于所述验证结果与所述验证数据的结果相同,确定训练好的目标模型验证通过。
这里,通过验证模块采用验证数据和验证数据的结果来验证训练好的目标模型,能够得到更加有效精准的训练好的目标模型。
在上述模型训练装置中,所述验证模块,还用于:
在判断所述验证结果与所述验证数据的结果是否相同之后,响应于所述验证结果与所述验证数据的结果不同,确定训练好的目标模型验证不通过,对所述训练好的目标模型进行重新训练,以得到通过验证的模型。
这里,在验证模块中,针对验证不通过的模型重新进行训练,能够得到更加有效精准的训练好的目标模型。
在上述模型训练装置中,所述装置还包括:
第一确定模块,用于:
在获取训练指令之前,接收训练参数;
根据所述训练参数,确定执行所述模型训练方法的硬件资源。
通过第一确定模块接收到的训练参数来确定模型训练的硬件资源,能够更加灵活的为每一个模型训练方法提供适合自身的硬件资源。
在上述模型训练装置中,所述装置还包括:
查询模块,用于:
在采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型之后,接收对所述训练好的目标模型的训练数据的查询指令;
显示所述目标模型训练过程中的训练数据。
通过查询模块接收到的对训练好的目标模型的训练数据的查询指令,使得能够显示目标模型在过程中的训练数据,这样,为用户提供了更多的查询功能,方便用户查询相关数据。
在上述模型训练装置中,所述装置还包括:
加入模块,用于:
接收新的待训练模型和所述新的待训练模型的训练算法;
将所述新的待训练模型加入至所述预先存储的待训练模型。
这里,通过加入模块,及时地更新预先存储的待训练模型,能够及时地得到最新的待训练模型,那么,基于最新的待训练模型得到训练好的目标模型更加有效精准
在上述模型训练装置中,在所述目标模型为新的待训练模型的情况下,相应地,所述训练模块,具体用于:
基于新的待训练模型的训练算法,采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型。
这里,在训练模块中,基于新的待训练模型和新的待训练模型的训练算法来进行训练,使得得到的训练好的目标模型更加优化有效。
在上述模型训练装置中,所述选择模块,具体用于:
根据训练指令从预先存储的待训练模型中选择目标模型;
接收到选择指令;
根据接收到的选择指令,从预先存储的数据集中选择目标数据集。
在选择模块中,采用训练指令选择目标模型,采用选择指令选择目标数据集,分别通过两个指令来选择目标模型和目标数据集,能够根据自身的需求来选取出合适的目标模型和目标数据集,也提高了模型训练的灵活性。
在上述模型训练装置中,所述预先存储的数据集包括:视觉目标追踪数据集和目标追踪基准点数据集;
所述待训练模型包括:全连接孪生网络模型和孪生候选区域生成网络模型。
采用上述预先存储的数据集和待训练模型有利于提高模型训练的精度和准确度,得到更加有效精准的训练好的目标模型。
本公开实施例提供了一种目标检测装置,包括:
第二获取模块,用于获取待检测图像和所述待检测图像的目标对象;其中,所述目标对象为所述待检测图像中需要进行检测的对象;
第二确定模块,用于从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型;
识别模块,用于根据所述进行检测的目标模型和所述目标对象,对所述待检测图像进行识别,以在所述待检测图像中识别出所述目标对象;
其中,所述训练好的目标模型是采用上述一个或多个方案中任一项所述的模型训练方法训练得到。
采用上述目标检测装置,扩展了目标检测的适用范围,简化了对待检测图像进行目标检测的繁琐步骤,在节省成本的同时缩短了实现目标检测的时间周期,从而能够简捷高效地实现对图像的目标检测或者对视频的目标追踪。
在上述目标检测装置中,所述第二确定模块,包括:
第一子确定模块,用于根据所述目标对象的类别,从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型。
在第一子确定模块中,采用目标对象的类别确定进行检测的目标模型,使得确定出的进行检测的目标模型与目标对象相关,能够提高目标检测的精度。
在上述目标检测装置中,所述第二确定模块,包括:
第二子确定模块,用于根据所述待检测图像和所述目标对象,从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型。
在第二子确定模块中,采用待检测图像和目标对象确定进行检测的目标模型,使得确定出的进行检测的目标模型更加适用于待检测图像和目标对象,从而能够提高对待检测图像中目标对象的识别精度。
在上述目标检测装置中,所述第二子确定模块,具体用于:
从所述待检测图像中选取出预设帧数的图像,作为待测试图像;
基于所述目标对象,采用预先存储的训练好的目标模型中的每个训练好的目标模型,分别对所述待测试图像进行识别,得到每个训练好的目标模型对应的识别结果;
根据所述识别结果,从预先存储的训练好的目标模型中,为所述待测试图像所属的待检测图像确定对所述目标对象进行检测的目标模型。
这里,在第二子确定模块中,对每个训练好的目标模型进行识别,并根据识别结果来确定进行检测的目标模型,这样,得到的进行检测的目标模型的识别目标对象的准确率更高,更加有利于识别目标对象。
在上述目标检测装置中,所述第二子确定模块根据所述识别结果,从预先存储的训练好的目标模型中,为所述待测试图像所属的待检测图像对所述目标对象进行检测的目标模型中,包括:
将所述识别结果进行存储,接收到对所述识别结果的查询指令,响应所述查询指令,以显示所述识别结果;
接收到针对预先存储的训练好的目标模型的选取指令;
根据所述选取指令,从预先存储的训练好的目标模型中,确定对所述目标对象进行检测的目标模型。
在第二子确定模块中,通过显示识别结果使得用户能够根据识别结果选取出识别率高的模型作为进行检测的目标模型,从而能够提高对待检测图像中目标对象的识别精度。
本公开实施例提供了一种电子设备,所述电子设备包括:处理器、存储器和通信总线;其中,
所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;
所述处理器,用于执行所述存储器中存储的视频追踪程序,以实现上述一个或多个实施例所述的视频追踪模型训练方法。
通过上述电子设备,减少了建立待训练模型和导入目标数据集所耗费的时间,在此基础上,采用目标数据集对目标模型进行训练,能够方便快捷地得到训练好的目标模型,从而提高了模型训练的效率。
本公开实施例提供了一种电子设备,所述电子设备包括:处理器、存储器和通信总线;其中,
所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;
所述处理器,用于执行所述存储器中存储的视频追踪程序,以实现上述一个或多个实施例所述的目标检测方法。
采用上述电子设备,扩展了目标检测的适用范围,简化了对待检测图像进行目标检测的繁琐步骤,在节省成本的同时缩短了实现目标检测的时间周期,从而能够简捷高效地实现对图像的目标检测或者对视频的目标追踪。
本公开提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现上述一个或多个实施例所述的模型训练方法或者上述一个或多个实施例所述的目标检测方法。
由此可见,在本公开实施例提供的一种模型训练、目标检测方法及装置、电子设备、存储介质,模型训练装置首先获取训练指令,根据训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集,采用目标数据集对目标模型进行训练,得到训练好的目标模型;也就是说,在本公开实施例的技术方案中,在获取到训练指令之后,从预先存储的待训练模型中直接选择目标模型,并获取目标数据集,这样,减少了建立待训练模型和导入目标数据集所耗费的时间,在此基础上,采用目标数据集对目标模型进行训练,能够方便快捷地得到训练好的目标模型,从而提高了模型训练的效率。
附图说明
图1为本公开实施例提供的一种可选的模型训练方法的流程示意图;
图2为孪生候选区域生成网络的结构示意图;
图3为本公开实施例提供的一种可选的目标检测方法的流程示意图;
图4为目标对象的排布示意图;
图5为本公开实施例提供的一种可选的模型训练方法的实例的流程示意图;
图6为本公开实施例提供的另一种可选的模型训练方法的实例的流程示意图;
图7为本公开实施例提供的一种可选的目标检测方法的实例的流程示意图;
图8为本公开实施例提供的一种可选的模型训练装置的结构示意图;
图9为本公开实施例提供的一种可选的目标检测装置的结构示意图;
图10为本公开实施例提供的一种电子设备的结构示意图一;
图11为本公开实施例提供的一种电子设备的结构示意图二。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本公开提供一种模型训练方法,该模型训练方法应用于一训练系统中,该训练系统可以包括服务器,或者终端和服务器,图1为本公开实施例提供的一种可选的模型训练方法的流程示意图,如图1所示,该模型训练方法可以包括:
S101:获取训练指令;
目前,为了实现对待追踪视频中目标对象的追踪,或者实现对待检测图片中目标对象的识别,通常情况下,开发人员会根据用户的需求,例如,用户给定的图片、视频以及目标对象,来选定训练样本集和待训练模型,然后用训练样本集对待训练模型进行训练,从而得到训练好的目标模型,然而,该方法需要大量的人工操作,模型训练方法的效率低下。
为了提高模型训练的效率,在本公开实施例中,首先,训练系统获取训练指令,其中,该训练指令可以是用户在训练系统的用户界面上的输入的特定操作指令,也可以是接收到的对待追踪视频或者待检测图片进行目标检测的指令,这里,本公开实施例不作具体限定。
为了确定出执行该模型训练方法时所占用训练系统的硬件资源,在一种可选的实施例中,在S101之前,该方法还可以包括:
接收训练参数;
根据训练参数,确定执行模型训练方法的硬件资源。
在一种可能的实现方式中,在训练系统获取训练指令之前,训练系统接收来自用户输入的训练参数,在实际应用中,该训练参数可以包括执行模型训练方法的硬件设备(如终端或服务器),根据该硬件设备,训练系统会自动获取所选硬件设备的处理资源,例如获取硬件设备的中央处理器(CPU,Central Processing Unit)的型号或者图形处理器(GPU,Graphics Processing Unit)等处理器标识,然后,根据CPU的型号或者GPU的型号可以确定出可供模型训练方法所占用的处理资源,训练参数中还可以包括训练方法或迭代次数等,根据上述参数训练系统自动匹配对应的处理资源。另外,还可以根据硬件设备的可用存储资源,为模型训练匹配可用的存储资源,也可以直接根据接收到训练参数中所携带的图片的大小或者待追踪视频的大小来确定出模型训练方法所占用的存储资源,这里,本公开实施例不作具体限定。
在另一些可能的实现方式中,该训练参数也可以包括在训练指令中,用户可以在用户界面中输入选用的训练设备、训练模型、训练数据集、训练方法等训练参数,生成训练指令发送给后台服务器,后台服务器可以接收到该训练指令,根据用户输入的训练参数匹配合适的训练资源,包括处理资源和存储资源等。
这里,根据训练参数来自动匹配执行模型训练方法的硬件资源,使得本公开实施例无需复杂的硬件支持,例如某些深度学习检测模型依赖于ARM架构,X86和X64架构等特殊硬件,提供模型训练的灵活性和便捷性,减少了过多的硬件资源的占用对训练系统中硬件资源的浪费。
S102:根据训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集;
在一些可能的实现方式中,上述待训练模型是基于深度学习的小样本目标检测模型,相比传统的需要大量数据训练的检测系统不同,上述待训练模型可以从小样本中学习,从少数几张图片中学习后就可以实现自动检测目标对象。该待训练模型包括:全连接孪生网络模型和孪生候选区域生成网络模型。
此外,小样本目标检测模型结构复杂,一般用户难以复现,本公开的实施例中预先将小样本目标检测模型(例如,孪生候选区域生成网络(Siamese RPN,Siamese RegionProposal Network))存储为待训练模型,用户只需要根据需求选择对应的目标模型,即可以训练出所需的小样本目标检测模型,不需要用户自行进行模型复现,提高模型训练的便捷性。
具体来说,在接收到训练指令之后,根据训练指令可以从预先存储的待训练模型中选择目标模型,根据训练指令还可以获取目标数据集,也可以通过其他方式获取目标数据集,在一种可选的实施例中,S102可以包括:
根据训练指令从预先存储的待训练模型中选择目标模型;
接收到选择指令;
根据接收到的选择指令,从预先存储的数据集中选择目标数据集。
也就是说,在根据训练指令从预先存储的待训练模型中选择目标模型之后,接收到来自用户对训练系统的用户界面的特定操作,即接收到选择指令,或者接收到来自用户输入的针对目标数据集的选择指令,这样,可以根据选择指令,从预先存储的数据集中选择目标数据集,从而进行模型训练。
在一些可能的实现方式中,该预先存储的数据集包括:视觉目标追踪数据集和目标追踪基准点数据集。
S103:采用目标数据集对目标模型进行训练,得到训练好的目标模型。
在S103中选择得到目标数据集和目标模型之后,训练系统可以直接采用预先存储的代码来实现采用目标数据集对目标模型进行训练,也可以在训练系统接收到用户对预设点击按钮的点击操作之后,采用目标数据集对目标模型进行训练,得到训练好的目标模型,这里,本公开实施例对此不作具体限定。
在一些可能的实现方式中,训练系统中将模型的训练过程封装为多个模块,例如加载数据集、加载模型、训练、验证、测试等模块,每个模块均设置有应用程序编程接口(API,Application Programming Interface)接口,用户可以通过输入代码的方式调用对应模块,从而实现模型训练。
其中,需要说明的是,可以通过迭代的方式进行训练,也可以在在不断更新训练样本集的情况下,采用迭代训练的方式对目标模型进行训练,得到训练好的目标模型,并存储至训练系统中。
为了得到训练好的目标模型,在一种可选的实施例中,S103可以包括:
从目标数据集中选取出训练样本集,将目标数据集中除了训练样本集以外的数据集确定为测试样本集;
采用训练样本集对目标模型进行训练,得到第一模型;
采用测试样本集对第一模型进行测试,得到测试结果;
响应于测试结果符合预设条件,将通过测试的第一模型确定为训练好的目标模型。
可以理解地,在得到目标数据集之后,先对目标数据集进行分类,先选取出用于训练的训练样本集,然后将目标数据集中除了训练样本集以外的数据集确定为用于对训练好的目标模型进行测试的测试样本集。例如,将目标数据集中90%的数据作为训练样本集,剩余10%作为测试样本集。
然后,采用训练样本集对目标模型进行训练,得到第一模型,在得到第一模型之后,再用测试样本集对第一模型进行测试,以验证第一模型,在测试结果符合预设条件的情况下,说明第一模型通过测试,否则说明第一模型不通过测试,这样,可以将通过测试的第一模型确定为训练好的目标模型;通过该实施例,不仅训练出训练好的目标模型,并且实现对训练好的目标模型的测试验证,以得到识别效率更高的训练好的目标模型,为提高目标对象的追踪打下基础。
为了得到训练好的目标模型,在一种可选的实施例中,在采用测试样本集对第一模型进行测试,得到测试结果之后,该方法还包括:
响应于测试结果不符合预设条件,对目标模型重新进行训练,以得到训练好的目标模型。
这里,通过判断测试结果是否符合预设条件中,该预设条件是采用测试样本集进行测试后所得到的正确的结果所满足的条件,例如测试准确率或测试错误率阈值等。当测试结果符合预设条件,说明测试结果为正确的结果,得到的第一模型可以作为训练好的目标模型,当测试结果不符合预设条件,说明测试结果为不正确的结果,得到的第一模型不能作为训练好的目标模型,所以,对目标模型重新进行训练,以得到训练好的目标模型。
可以理解地,在测试结果不符合预设条件的情况下,说明第一模型测试不通过,需要对目标模型重新进行训练,这里,可以重新采用训练样本集进行训练,然后在采用测试样本集进行测试,以得到通过测试的模型,并将通过测试的模型确定为训练好的目标模型,也可以重新采集训练样本集进行训练和测试,并将通过测试的模型确定为训练好的目标模型,这里,本公开实施例对此不作具体限定。
上述除了采用测试样本集对训练好的目标模型进行测试验证,在一种可选的实施例中,在采用训练样本集对目标模型进行训练,得到训练好的目标模型之后,该方法还可以包括:
获取验证数据;
将验证数据输入至训练好的目标模型中,得到验证结果;
判断验证结果与所述的验证数据的结果是否相同;
响应于验证结果与预先存储的验证数据的结果相同,确定训练好的目标模型验证通过。
这里,在训练系统中可以预先存储有验证数据和验证数据的结果,也可以是训练系统实时获取验证数据和验证数据的结果,本公开实施例不作具体限定。
这里,验证数据可以为视频和目标对象,也可以为图片和目标对象等,本公开实施例不作具体限定。
具体来说,训练系统将验证数据输入至训练好的目标模型中进行识别,例如,当验证数据为视频和目标对象时,将视频和目标对象输入至训练好的目标模型中进行识别,从而进行目标对象的追踪得到验证结果,再将验证结果与预先存储的验证数据的结果进行比较,若相同或误差在可容许范围内,说明验证通过;这样,通过验证数据便可以确定出训练好的目标模型对目标对象进行识别的准确性。
在一种可选的实施例中,在判断验证结果与所述验证数据的结果是否相同之后,该方法还包括:
响应于验证结果与所述验证数据的结果不同,确定训练好的目标模型验证不通过,对训练好的目标模型进行重新训练,以得到通过验证的模型。
可以理解地,在再将验证结果与所述验证数据的结果(如预先存储的结果)进行比较,若不相同或误差超过可容许范围,则验证不通过,需要对目标模型重新进行训练,这里,可以重新采用训练样本集进行训练,然后再采用验证数据进行验证,以得到通过验证通过的模型,可将验证通过的模型确定为训练好的目标模型,以提高模型训练的准确性和鲁棒性,也可以重新采集训练样本集进行训练和验证,并将验证通过的模型确定为训练好的目标模型,这里,本公开实施例对此不作具体限定。
为了使得用户能够查看到模型训练过程中的数据,尤其是可用于评价模型效果的评价结果,在一种可选的实施例中,在S103之后,该方法还可以包括:
接收对训练好的目标模型的训练数据的查询指令;
显示目标模型训练过程中的训练数据。
其中,查询指令可以是用户在训练系统的用户界面上输入的信息而生成的,也可以是用户在在训练系统的用户界面上特定位置上发出的特定操作而生成的,训练数据可以是训练过程中的所有结果数据,包括训练、测试、验证等过程中的结果数据,例如,训练过程中的准确率提升过程图,一个或多个测试集的测试准确率等。
在具体实施例过程中,在接收到查询指令之后,除了显示目标模型过程中的训练数据之外,还可以显示提示信息;其中,提示信息用于提示验证结果验证不通过或者通过;并且,在显示完成提示信息之后,接收到对提示信息的查询指令;根据提示信息,显示提示信息对应的验证过程数据。
具体来说,用户可以通过训练系统的用户界面输入对验证结果的查询指令,这里,查询指令可以为预设按钮的点击操作,也可以为用户通过训练系统的用户界面输入的进行验证的验证指令,在验证完成后直接显示验证结果,这里,本公开实施例对此不作具体限定。
其中,为了显示验证结果,可以通过提示信息的方式显示在训练系统的用户界面上以供用户查看,也可以将提示信息发送至用户绑定的终端设备上或者是用户绑定的邮箱里,这里,本公开实施例不作具体限定。
另外,提示信息包括两种类型,一种是用于提示验证结果不通过的信息,另一种是提示验证结果通过的信息。
需要说明的是,为了进一步获取验证过程数据,这里,用户可以继续对验证结果进行查询,例如,可以点击提示信息,使得训练系统接收到对提示信息的查询指令,当提示信息用于提示验证结果不通过时,显示验证过程数据包括验证的准确率,验证准确率可以通过混淆矩阵得到;同样地,当提示信息用于提示验证结果通过时,也可以显示验证过程数据包括验证的准确率,其中,验证结果的准确率可以为验证得到每一帧图像的识别结果,也可以为每一帧图像的识别结果的数据分析等等,这里,本公开实施例对此不作具体限定。
在实际应用中,在模型训练时需要先确定目标模型,然后对目标模型按照目标模型的训练算法进行迭代训练,在一种可选的实施例中,该方法还包括:
接收新的待训练模型和新的待训练模型的训练算法;
将新的待训练模型加入至预先存储的待训练模型。
可以理解地,训练系统可以通过互联网或者用户输入的方式接收到新的待训练模型和新的待训练模型的训练算法,然后在训练系统中可以及时地更新预先存储的待训练模型和预先存储的待训练模型的训练算法。
为了得到更好的训练好的目标模型,在一种可选的实施例中,在目标模型为新的待训练模型的情况下,相应地,采用目标数据集对目标模型进行训练,得到训练好的目标模型,包括:
基于新的待训练模型的训练算法,采用目标数据集对目标模型进行训练,得到训练好的目标模型。
需要说明的是,上述新的待训练模型可以为预先存储的待训练模型中不存在的待训练模型,也可以为预先存储的待训练模型中的一个待训练模型中进行升级更新后的待训练模型,这里,本公开实施例不作具体限定。
在接收到新的待训练模型和新的待训练模型的训练算法之后,将新的待训练模型加入至预先存储的待训练模型,以更新预先存储的待训练模型,这样,当选择的目标模型为新的待训练模型时,为了训练出训练好的目标模型,这里,基于新的待训练模型的训练算法,可以采用目标数据集对新的待训练模型进行训练,得到训练好的目标模型,从而实现对训练系统中待训练模型及其待训练模型的训练算法的更新,使得训练系统具有可扩展性,使得用户可以获取更前沿的模型,也可以使用更前沿的训练方法训练模型,有利于训练出更准确的模型。
在一些可能的实现方式中,目标数据集可以包括:视觉目标追踪(VOT,VisualObject Tracking)数据集和目标追踪基准点(OTB,Object Tracking Benchmark)数据集。
例如,VOT可以包括VOT2015,VOT2016和VOT2017等等;在选取训练样本集时,可以采用公开的数据集VOT或OTB,还可以采用开发人员采集到的其他训练样本集,这里,本公开实施例对此不作具体限定。
在实际应用中,可以基于孪生候选区域生成网络模型进行训练得到训练好的目标追踪模型,图2为孪生候选区域生成网络的结构示意图,如图2所示,孪生候选区域生成网络包括两个孪生网络(Siamese Network)和候选区域网络(Region Proposal Network)组成,孪生网络可以包括两个分支,一个是模板分支(Template Branch),另一个是检测分支(Detection Branch),每个分支用于提取出图像的特征图,如图2所示,当孪生候选区域生成网络接收到模板图像帧(像素为127×127×3)和检测图像帧(像素为255×255×3)之后,先采用孪生网络(例如,卷积神经网络(CNN,Convolutional Neural Networks))分别对模板图像帧和检测图像帧进行处理,得到一个6×6×256的特征图和22×22×256的特征图。
参考图2所示,候选区域网络可以包括两个分支,一个是分类分支(Classification Branch),另一个是回归分支(Regression Branch),每个分支用于提取出图像的特征图,ConV1的目的是对来自Template的特征进行通道数提升,将其变为(2k×256)个通道后,再经过切分,变成四维的变量(4×4×2k×256),才能作为卷积核。
为了与Template保持一致,图2中对Detection也进行了相应操作(即ConV2),但保持Detection的维度不变。
图2中的星号代表“互相关”(cross-correlation)操作(其实也就是CNN中的卷积操作,因为CNN中所谓的“卷积”绝大多数情况下指的是互相关操作),相当于用template在detection进行搜索。
图2中的k表示锚点(anchor)的数量(例如可以取k=5)。在RPN中,分类分支的输入应当具有2k个通道,分别表示k个anchor是前景还是背景的概率;回归分支与分类分支的操作类似,这里,不再赘述。
需要说明的是,图2的候选区域网络采用成对的相关操作来得到最后的输出,关于输出的各个通道的细节在右边具体展示:在分类分支,输出的特征图包含2k个通道(得到k组(k group)特征图,每组包括正(positive)和负(negtive)),分别表示k个锚点的前景背景的分数;在回归分支,输出的特征图包含4k个通道(得到k组(k group)特征图,每组包括dx,dy,dw和dh),分别表示k个锚点的坐标偏移的预测。
在孪生网络中,采用了一个没有填充的全卷积结构,用于提取图像特征的孪生网络分成两个分支,接收模板图像帧的小图为模板分支,接收当前帧的图像为检测分支,两支网络只有输入不同,权重参数完全相同,所以网络两支可以隐式的编码相同的变化,非常适合于跟踪任务。
在Siamese RPN中,网络只需要根据相关操作的结果得到响应图,进行预测目标所在的位置,而为了引入候选区域网络进行精准的位置的预测,网络必须做出比较大的改动,根据检测中候选区域网络的经验,如果有个k锚点,那么网络需要为分类分支输出通道数为2k的特征图,为回归分支输出通道数为4k的特征图,因此在进行相关操作操作之前,算法需要提升通道数,图2中的ConV1,ConV2和ConV3就是提升维度用的卷积,同时为了网络的深度对齐,ConV2和ConV4也会被应用,不过通道数没有变,之后便以上述相关操作的描述方式进行相关操作。
在本公开实施例提供的一种模型训练方法,模型训练装置首先获取训练指令,根据训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集,采用目标数据集对目标模型进行训练,得到训练好的目标模型;也就是说,在本公开实施例的技术方案中,在获取到训练指令之后,从预先存储的待训练模型中直接选择目标模型,并获取目标数据集,这样,减少了建立待训练模型和导入目标数据集所耗费的时间,在此基础上,采用目标数据集对目标模型进行训练,能够方便快捷地得到训练好的目标模型,从而提高了模型训练的效率。
本公开提供了一种目标检测方法,其执行主体可以为终端、服务器等电子设备,其中终端可以是手机,电脑等等,这里,本公开实施例不作具体限定。
其中,在实际应用中,本公开实施例提供的目标检测方法可以应用于教育机器人或者教育平台等教育场景中,还可以应用于侦察类案件中涉及到的视频追踪中。
另外,需要说明的是,本公开实施例提供的目标检测方法不仅可以适用于单张图像对目标对象的检测,还可以适用于视频中对目标对象的追踪,这里,本公开实施例不作具体限定。进一步地,本公开实施例提供的目标检测方法适用于小样本训练场景的视频的目标追踪和图像的目标检测,下面将以服务器进行目标检测为例进行说明。
图3为本公开实施例提供的一种可选的目标检测方法的流程示意图,如图3所示,该目标检测方法可以包括:
S301:获取待检测图像和待检测图像的目标对象;
其中,目标对象为待检测图像中需要进行检测的对象,可以理解地,该目标对象为需要进行检测或追踪的目标的标识;针对待检测图像来说,目标对象可以为待检测图像中的某一类图像,例如人,或者动物,或者车辆等等,这里,本公开实施例对此不作具体限定。
图4为目标对象的排布示意图,如图4所示,以视频目标追踪为例来说,待追踪视频包括多帧待检测图像,当用户想对待追踪视频中的笑脸进行目标追踪时,可以通过在待追踪视频上的第一帧图像上圈出笑脸,从而确定出目标对象。
目前,为了实现对待追踪视频中的目标对象的追踪,通常地,用户提供待追踪视频,并在待追踪视频的第一帧图像上圈出目标对象,开发人员根据用户提供的待追踪视频和目标对象,为待追踪视频采集训练样本集,并为待追踪视频确定目标模型,目标模型可以包括很多种神经网络,例如,Siamese RPN或者Siamese FC,为待追踪视频确定目标模型之后,基于采集到的训练样本集对确定出的目标模型进行训练,以得到训练好的目标模型。
然而,采用上述针对待追踪视频和目标对象采集训练样本集,确定并训练目标模型的方法,需要较长的时间周期和花费大量人力才能够实现对用户提供的待追踪视频中的目标对象的追踪,可见,对于用户来说,要想实现对任意一个视频中特定的目标对象的追踪,均需要采用上述步骤才可以完成,这样,并不利于用户实现对特定目标对象的追踪。
为了更加简捷高效地实现对视频中的目标对象的追踪,本公开实施例提供一种目标检测方法,可以在上述本公开实施例提供的模型训练方法中得到训练好的目标模型的基础上,下面将以执行主体为服务器,待检测图像为待追踪视频中的一帧或多帧图像为例来说,首先,服务器获取待追踪视频和待追踪视频的目标对象,其中,目标对象为待追踪视频中需要进行追踪的目标,其可以是在待追踪视频中的图像上表征图像类别的某个图像区域。
在实际应用中,用户提供待追踪视频,并在待追踪视频的第一帧图像上圈出目标对象,例如,图4中的笑脸。
这样对于用户来说,在本公开实施例中只需要提供待追踪视频和目标对象,将待追踪视频和目标对象输入至服务器中,服务器就可以完成对待追踪视频中目标对象的追踪,得到识别结果,如此满足了的用户对简捷高效实现对视频中的目标对象的追踪的需求。
S302:从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型;
具体来说,在服务器中,可以预先存储有一个以上训练好的目标模型,那么,针对任意一个待追踪视频和目标对象的任务,可以从训练好的目标模型中选取出一个适合该任务的模型,来完成追踪任务。
其中,该训练好的目标模型是通过本公开提供的模型训练方法训练得到,具体训练方法此处不再赘述。
为了实现为待追踪视频确定对目标对象进行追踪的目标追踪模型,可以从预先存储的训练好的目标模型中任意选取一个训练好的目标模型,作为对目标对象进行追踪的目标模型,也可以按照预设的规则为待追踪视频确定对目标对象进行追踪的目标模型,这里,本公开实施例对此不作具体限定。
其中,为了为待追踪视频确定出一个适合自身的模型,可以按照预设的规则为待追踪视频确定对目标对象进行检测的目标模型,在一种可选的实施例中,S302可以包括:
根据目标对象的类别,从预先存储的训练好的目标模型中,为待待检测图像确定对目标对象进行检测的目标模型。
在一些可能的实现方式中,在服务器中,可以预先将目标对象进行分类,并为每一类目标对象建立对应的训练好的目标模型,形成目标对象的类别与训练好的目标模型之间的对应关系,服务器在接收到待追踪视频和目标对象之后,先对目标对象进行分类,然后,按照目标对象的类别,在对应关系中找到该类别对应的训练好的目标模型,将找到的该类别对应的训练好的目标模型确定为对目标对象进行追踪的目标模型。
其中,在对目标对象进行分类中,可以采用图像特征的提取算法对待检测图像或者待追踪视频图像中的对象进行分类,例如,通过分类可以得到待检测图像或者待追踪视频图像中的人、树、建筑物以及车等等对象。
另外,为了为待追踪视频确定出一个适合自身的模型,在按照预设的规则为待追踪视频确定对目标对象进行检测的目标模型中,在一种可选的实施例中,S302可以包括:
根据待检测图像和目标对象,从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型。
具体来说,在根据待追踪视频和目标对象,来为待追踪视频确定对目标对象进行追踪的目标模型中,可以针对待追踪视频的清晰度,例如,针对不同的清晰度从预先存储的训练好的目标模型中,为待追踪视频确定对目标对象进行追踪的目标模型,还可以针对待追踪视频的图像帧数,例如,针对不同的图像帧数从预先存储的训练好的目标模型中,为待追踪视频确定对目标对象进行追踪的目标模型,还可以通过测试的方式从预先存储的训练好的目标模型中,为待追踪视频确定对目标对象进行追踪的目标模型,这里,本公开实施例对此不作具体限定。
为了为待追踪视频确定出一个适合自身的模型,可以预先对待追踪视频进行测试,在一种可选的实施例中,根据进行检测的目标模型和目标对象,从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型,可以包括:
从待检测图像中选取出预设帧数的图像,作为待测试图像;
基于目标对象,采用预先存储的训练好的目标模型中的每个训练好的目标模型,分别对待检测图像进行识别,得到每个训练好的目标模型对应的识别结果;
根据识别结果,从预先存储的训练好的目标模型中,为待测试图像所属的待检测图像确定对目标对象进行检测的目标模型。
具体来说,先对待追踪视频进行截取,例如截取预设帧数的视频,还可以按照时长截取,一般地,截取开始的一小段时长的视频作为待测试视频,例如,待追踪视频总时长为30分钟,可以截取第1分钟的视频作为待测试视频。
确定出待测试视频之后,基于目标对象,采用预先存储的训练好的目标模型中的每个训练好的目标模型,分别对待测试视频进行识别,得到每个训练好的目标模型对应的识别结果,例如,采用每个训练好的目标模型对第一分钟的视频进行目标追踪,得到每个训练好的目标模型对应的待测试视频的识别结果,该识别结果包括第一分钟视频中的每个图像帧的识别结果,针对识别出的目标对象来说,识别结果中会用特定的框圈出识别出的目标对象。
最后,基于识别结果来选取对目标对象进行追踪的目标模型,例如选择识别准确率最高的模型作为目标模型,这样,用测试的方式能够选取出最适合待追踪视频和目标对象的模型来,可以使得服务器对待追踪视频的识别准确率较高。
为了便于用户为待追踪视频和目标对象从预先存储的训练好的目标模型中选取出合适的目标模型,在一种可选的实施例中,根据识别结果,从预先存储的训练好的目标模型中,为待测试图像所属的待检测图像确定对目标对象进行检测的目标模型,可以包括:
将识别结果进行存储,接收到对识别结果的查询指令,响应查询指令,以显示识别结果;
接收到针对预先存储的训练好的目标模型的选取指令;
根据选取指令,从预先存储的训练好的目标模型中,确定对目标对象进行检测的目标模型。
也就是说,先将识别结果进行存储,那么,当用户需要查询识别结果时,可以在服务器的用户界面上点击相应的按钮形成查询指令,或者通过语音或代码等其他方式输入查询指令,服务器接收到对识别结果的查询指令,然后,响应查询指令,服务器将识别结果显示在用户界面上,以供用户查看。
当用户看到识别结果之后,可以分析出哪个训练好的目标模型对该待追踪视频的目标对象的追踪效果最好(例如准确率最高或识别时间最短),可以通过用户界面选择将该模型为待追踪视频对目标对象进行追踪的目标模型。在实际应用中,用户发出特定的操作,使得服务器接收到针对预先存储的训练好的目标模型的选取指令,该选择指令中携带有指示所选中的模型信息,所以,根据选取指令,服务器就可以从预先存储的训练好的目标模型中,确定对目标对象进行追踪的目标模型。
在获取到训练样本集之后,对预设的目标模型进行训练,其中,预设的目标模型可以包括:全连接孪生网络模型和孪生候选区域生成网络模型,这样,通过训练就可以得到训练好的目标模型。
其中,需要说明的是,可以通过迭代的方式进行训练,也可以在在不断更新训练样本集的情况下,采用迭代训练的方式对预设的目标追踪模型进行训练,得到训练好的目标追踪模型,并存储至视频追踪装置中。
S303:根据进行检测的目标模型和目标对象,对待检测图像进行识别,以在待检测图像中识别出目标对象。
其中,训练好的目标模型是采用上述一个或多个实施例所述的模型训练方法训练得到的。
通过S302得到对目标对象进行追踪的目标模型之后,服务器采用对目标对象进行追踪的目标模型对待追踪视频进行识别,如此,对待追踪视频中的目标对象进行追踪。
这样,在获取到待追踪视频和目标对象之后,无需采集训练样本集针对待追踪视频训练出目标模型,而是直接采用训练系统中预先存储好的训练好的目标模型,这样,减少了成本的基础上缩短了实现目标追踪的时间周期,方便用户的操作。
下面举实例来对上述一个或多个实施例中所述的模型训练方法进行说明。
图5为本公开实施例提供的一种可选的模型训练方法的实例的流程示意图,如图5所示,若预先从VOT2015获取数据集,选定采用Siamese RPN作为目标模型,那么,在训练目标模型的过程中,将获取到的数据集和目标模型加载进来进行训练,得到训练好的目标模型,然后对训练好的目标模型就行验证,得到测试结果,当测试结果满足特定要求时,可以输出训练好的目标模型,同理,可以训练出多个训练好的目标模型,当输出得到多个训练好的目标模型之后,将这些模型部署至训练系统中。
图6为本公开实施例提供的另一种可选的模型训练方法的实例的流程示意图;如图6所示,为了使得训练系统实现对任意一个图像或视频中特定目标对象的目标检测或追踪,在实际应用中,大体通过以下步骤来部署训练系统:
S601:获取待训练模型;
具体来说,开发人员选取多个目标检测算法,使用深度学习框架实现目标检测算法,从而得到多个待训练模型。
S602:封装API;
其中,开发人员可以将训练系统中对模型进行训练的过程进行模块化处理,每个模块可以封装为一个API供用户进行调用。例如图5中训练过程的每个模块:加载数据集、加载模型、训练、测试、验证并输出模型等,都可以封装为一个单独的API。
具体来说,在一些可能的实现方式中,在训练系统中将处理待追踪视频的算法用API封装,例如,可以对待追踪视频进行预处理,例如除噪,这里,可以用API封装,使得在接收到待追踪视频之后,训练系统通过调用API实现对待追踪视频的除噪,同理,从预先存储的训练好的目标模型中,确定对目标对象进行追踪的目标追踪模型也可以封装成API以供调用,采用对目标对象进行追踪的目标追踪模型进行识别的功能也可以封装成API以供调用,这样,当接收到待追踪视频之后,可以通过调用API的方式实现对待追踪视频中目标对象的追踪。
S603:部署平台的资源;
这里,将封装好的API载入至训练系统中,并调配训练系统中的硬件资源,例如,将上述程序上传至服务器或线下应用中,为功能分配特殊硬件资源(如GPU或CPU),通过训练系统中GPU实现对视频中目标对象的追踪;在实际应用中,该硬件资源可以是终端中的硬件资源,也可以是服务器中的硬件资源。
S604:用户交互方式设计。
其中,为了便于用户能更加方便直观的使用训练系统,可以在训练系统中设计面向用户的交互界面,设计出的交互界面可以接收到用户的指令,还可以在交互界面上显示模型训练的过程数据、待追踪视频和完成目标追踪后的视频,以方便用户观看对任意一个视频中特定目标对象的目标追踪。
下面举实例来对上述一个或多个实施例中所述的目标检测方法进行说明。
图7为本公开实施例提供的一种可选的目标检测方法的实例的流程示意图,如图7所示,当服务器接收到用户提供的待追踪视频,且目标对象为第一帧图像中的笑脸,为该视频确定对笑脸的目标模型,例如,基于Siamese RPN的目标模型,那么,训练系统采用基于Siamese RPN的目标模型对接收到的视频进行目标对象的识别追踪,得到对该视频的反馈。
用户可以通过服务器的用户界面查询反馈结果,浏览每一帧图像,并从反馈结果中可以查看是否存在笑脸,以及笑脸在图像中的位置,从而使得用户利用服务器就可以完成对任意一个视频中特定目标对象的目标追踪,实现了快速完成目标追踪的需求,便于用户对视频中的目标对象进行追踪。
在本公开实施例提供的一种目标检测方法,首先获取待追检测图像和待检测图像的目标对象,该目标对象为待检测图像中需要进行检测的对象,然后,从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型,最后,根据进行检测的目标模型和目标对象,对待检测图像进行识别,以在待检测图像中识别出目标对象,其中,训练好的的目标模型是采用上述模型训练方法训练得到的,也就是说,在本公开实施例的技术方案中,在获取到的待检测图像和待检测图像的目标对象之后,从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型,这样,直接从预先存储的训练好的目标模型中来确定对目标对象进行检测的目标模型,而不是预先针对待检测图像和目标对象获取训练样本集,通过获取到的训练样本集来训练预设的目标模型,使得在接收到任何一个待检测图像和待检测图像的目标对象之后,都可以采用预先存储的训练好的目标模型对该待追踪视频进行目标对象的识别,扩展了目标检测的适用范围,简化了对待检测图像进行目标检测的繁琐步骤,在节省成本的同时缩短了实现目标检测的时间周期,从而能够简捷高效地实现对图像的目标检测或者对视频的目标追踪。
图8为本公开实施例提供的一种可选的模型训练装置的结构示意图。如图8所示,该模型训练装置可以包括:
第一获取模块81,用于获取训练指令;选择模块82,用于根据训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集;训练模块83,用于采用目标数据集对目标模型进行训练,得到训练好的目标模型。
可选的,训练模块83,具体用于:
从目标数据集中选取出训练样本集,将目标数据集中除了训练样本集以外的数据集确定为测试样本集;采用训练样本集对目标模型进行训练,得到第一模型;采用测试样本集对第一模型进行测试,得到测试结果;响应于测试结果符合预设条件,将通过测试的第一模型确定为训练好的目标模型。
可选的,训练模块83,还用于:
在采用测试样本集对第一模型进行测试,得到测试结果之后,响应于测试结果不符合预设条件,对目标模型重新进行训练,以得到训练好的目标模型。
可选的,该模型训练装置还包括:
验证模块,用于:在采用训练样本集对目标模型进行训练,得到训练好的目标模型之后,获取验证数据;将验证数据输入至训练好的目标模型中,得到验证结果;判断验证结果与验证数据的结果是否相同;响应于验证结果与验证数据的结果相同,确定训练好的目标模型验证通过。
可选的,验证模块,还用于:
在判断验证结果与验证数据的结果是否相同之后,响应于验证结果与验证数据的结果不同,确定训练好的目标模型验证不通过,对训练好的目标模型进行重新训练,以得到通过验证的模型。
可选的,该模型训练装置还包括:
第一确定模块,用于:在获取训练指令之前,接收训练参数;根据训练参数,确定执行模型训练方法的硬件资源。
可选的,该模型训练装置还包括:
查询模块,用于:在采用目标数据集对目标模型进行训练,得到训练好的目标模型之后,接收对训练好的目标模型的训练数据的查询指令;显示目标模型训练过程中的训练数据。
可选的,该模型训练装置还包括:
加入模块,用于:接收新的待训练模型和新的待训练模型的训练算法;将新的待训练模型加入至预先存储的待训练模型。
可选的,在目标模型为新的待训练模型的情况下,相应地,训练模块83,具体用于:基于新的待训练模型的训练算法,采用目标数据集对目标模型进行训练,得到训练好的目标模型。
可选的,选择模块,具体用于:根据训练指令从预先存储的待训练模型中选择目标模型;接收到选择指令;根据接收到的选择指令,从预先存储的数据集中选择目标数据集。
可选的,预先存储的数据集包括:视觉目标追踪数据集和目标追踪基准点数据集;待训练模型包括:全连接孪生网络模型和孪生候选区域生成网络模型。
图9为本公开实施例提供的一种可选的目标检测装置的结构示意图。如图9所示,该目标检测装置可以包括:
第二获取模块91,用于获取待检测图像和待检测图像的目标对象;其中,目标对象为待检测图像中需要进行检测的对象;第二确定模块92,用于从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型;识别模块93,用于根据进行检测的目标模型和目标对象,对待检测图像进行识别,以在待检测图像中识别出所述目标对象;其中,训练好的目标模型是采用上述一个或多个实施例中任一项的模型训练方法训练得到。
可选的,第二确定模块92,包括:
第一子确定模块,用于根据目标对象的类别,从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型。
可选的,第二确定模块92,包括:
第二子确定模块,用于根据待检测图像和目标对象,从预先存储的训练好的目标模型中,为待检测图像确定对目标对象进行检测的目标模型。
可选的,第二子确定模块,具体用于:
从待检测图像中选取出预设帧数的图像,作为待测试图像;基于目标对象,采用预先存储的训练好的目标模型中的每个训练好的目标模型,分别对待测试图像进行识别,得到每个训练好的目标模型对应的识别结果;根据识别结果,从预先存储的训练好的目标模型中,为待测试图像所属的待检测图像确定对目标对象进行检测的目标模型。
可选的,第二子确定模块根据识别结果,从预先存储的训练好的目标模型中,为待测试图像所属的待检测图像对目标对象进行检测的目标模型中,包括:将识别结果进行存储,接收到对识别结果的查询指令,响应查询指令,以显示识别结果;接收到针对预先存储的训练好的目标模型的选取指令;根据选取指令,从预先存储的训练好的目标模型中,确定对目标对象进行检测的目标模型。
图10为本公开实施例提供的一种电子设备的结构示意图一,如图10所示,该电子设备1000包括:处理器101、存储器102和通信总线103;其中,
所述通信总线103,用于实现所述处理器101和所述存储器102之间的连接通信;所述处理器101,用于执行所述存储器102中存储的模型训练程序,以实现上述模型训练方法。
图11为本公开实施例提供的一种电子设备的结构示意图二,如图11所示,该电子设备1100包括:处理器111、存储器112和通信总线113;其中,
所述通信总线113,用于实现所述处理器111和所述存储器112之间的连接通信;所述处理器111,用于执行所述存储器112中存储的目标检测程序,以实现上述目标检测方法。
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现上述模型训练方法或者目标检测方法。计算机可读存储介质可以是是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信号处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信号处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信号处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信号处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。

Claims (10)

1.一种模型训练方法,其特征在于,包括:
获取训练指令;
根据所述训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集;
采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型。
2.根据权利要求1所述的方法,其特征在于,所述采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型,包括:
从所述目标数据集中选取出训练样本集,将所述目标数据集中除了所述训练样本集以外的数据集确定为测试样本集;
采用所述训练样本集对所述目标模型进行训练,得到第一模型;
采用所述测试样本集对所述第一模型进行测试,得到测试结果;
响应于所述测试结果符合预设条件,将通过测试的所述第一模型确定为所述训练好的目标模型。
3.根据权利要求1或2所述的方法,其特征在于,所述预先存储的数据集包括:视觉目标追踪数据集和目标追踪基准点数据集;
所述待训练模型包括:全连接孪生网络模型和孪生候选区域生成网络模型。
4.一种目标检测方法,其特征在于,包括:
获取待检测图像和所述待检测图像的目标对象;其中,所述目标对象为所述待检测图像中需要进行检测的对象;
从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型;
根据所述进行检测的目标模型和所述目标对象,对所述待检测图像进行识别,以在所述待检测图像中识别出所述目标对象;
其中,所述训练好的目标模型是采用权利要求1-3任一项所述的模型训练方法训练得到。
5.根据权利要求4所述的方法,其特征在于,所述从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型,包括:
根据所述目标对象的类别,从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型。
6.一种模型训练装置,其特征在于,包括:
第一获取模块,用于获取训练指令;
选择模块,用于根据所述训练指令,从预先存储的待训练模型中选择目标模型,并获取目标数据集;
训练模块,用于采用所述目标数据集对所述目标模型进行训练,得到训练好的目标模型。
7.一种目标检测装置,其特征在于,包括:
第二获取模块,用于获取待检测图像和所述待检测图像的目标对象;其中,所述目标对象为所述待检测图像中需要进行检测的对象;
第二确定模块,用于从预先存储的训练好的目标模型中,为所述待检测图像确定对所述目标对象进行检测的目标模型;
识别模块,用于根据所述进行检测的目标模型和所述目标对象,对所述待检测图像进行识别,以在所述待检测图像中识别出所述目标对象;
其中,所述训练好的目标模型是采用权利要求1-3任一项所述的模型训练方法训练得到。
8.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器和通信总线;其中,
所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;
所述处理器,用于执行所述存储器中存储的模型训练程序,以实现权利要求1-3任一项所述的模型训练方法。
9.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器和通信总线;其中,
所述通信总线,用于实现所述处理器和所述存储器之间的连接通信;
所述处理器,用于执行所述存储器中存储的目标检测程序,以实现权利要求4或5所述的目标检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现权利要求1-3任一项所述的模型训练方法或者实现权利要求4或5所述的目标检测方法。
CN201910684497.6A 2019-07-26 2019-07-26 模型训练、目标检测方法及装置、电子设备、存储介质 Pending CN110427998A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910684497.6A CN110427998A (zh) 2019-07-26 2019-07-26 模型训练、目标检测方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910684497.6A CN110427998A (zh) 2019-07-26 2019-07-26 模型训练、目标检测方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN110427998A true CN110427998A (zh) 2019-11-08

Family

ID=68412820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910684497.6A Pending CN110427998A (zh) 2019-07-26 2019-07-26 模型训练、目标检测方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN110427998A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865421A (zh) * 2019-11-18 2020-03-06 北京百度网讯科技有限公司 业务模型训练方法、障碍物检测方法、装置和电子设备
CN111754474A (zh) * 2020-06-17 2020-10-09 上海眼控科技股份有限公司 一种基于图像清晰度的能见度识别的方法及设备
CN112508191A (zh) * 2020-12-14 2021-03-16 北京地平线信息技术有限公司 训练深度学习模型的方法及装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346214A (zh) * 2013-07-30 2015-02-11 中国银联股份有限公司 用于分布式环境的异步任务管理装置及方法
CN105516281A (zh) * 2015-11-30 2016-04-20 武汉理工大学 基于移动云环境低能耗和负载均衡的计算迁移方法和装置
US20170161641A1 (en) * 2015-04-02 2017-06-08 Sas Institute Inc. Streamlined analytic model training and scoring system
CN108197664A (zh) * 2018-01-24 2018-06-22 北京墨丘科技有限公司 模型获取方法、装置、电子设备及计算机可读存储介质
CN108243216A (zh) * 2016-12-26 2018-07-03 华为技术有限公司 数据处理的方法、端侧设备、云侧设备与端云协同系统
CN109492698A (zh) * 2018-11-20 2019-03-19 腾讯科技(深圳)有限公司 一种模型训练的方法、对象检测的方法以及相关装置
CN109886092A (zh) * 2019-01-08 2019-06-14 平安科技(深圳)有限公司 对象识别方法及其装置
CN109977822A (zh) * 2019-03-15 2019-07-05 广州市网星信息技术有限公司 数据供给方法、模型训练方法、装置、系统、设备和介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346214A (zh) * 2013-07-30 2015-02-11 中国银联股份有限公司 用于分布式环境的异步任务管理装置及方法
US20170161641A1 (en) * 2015-04-02 2017-06-08 Sas Institute Inc. Streamlined analytic model training and scoring system
CN105516281A (zh) * 2015-11-30 2016-04-20 武汉理工大学 基于移动云环境低能耗和负载均衡的计算迁移方法和装置
CN108243216A (zh) * 2016-12-26 2018-07-03 华为技术有限公司 数据处理的方法、端侧设备、云侧设备与端云协同系统
CN108197664A (zh) * 2018-01-24 2018-06-22 北京墨丘科技有限公司 模型获取方法、装置、电子设备及计算机可读存储介质
CN109492698A (zh) * 2018-11-20 2019-03-19 腾讯科技(深圳)有限公司 一种模型训练的方法、对象检测的方法以及相关装置
CN109886092A (zh) * 2019-01-08 2019-06-14 平安科技(深圳)有限公司 对象识别方法及其装置
CN109977822A (zh) * 2019-03-15 2019-07-05 广州市网星信息技术有限公司 数据供给方法、模型训练方法、装置、系统、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡可云等: "《数据挖掘理论与应用》", 30 April 2008, 北京交通大学出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865421A (zh) * 2019-11-18 2020-03-06 北京百度网讯科技有限公司 业务模型训练方法、障碍物检测方法、装置和电子设备
CN111754474A (zh) * 2020-06-17 2020-10-09 上海眼控科技股份有限公司 一种基于图像清晰度的能见度识别的方法及设备
CN112508191A (zh) * 2020-12-14 2021-03-16 北京地平线信息技术有限公司 训练深度学习模型的方法及装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109408384B (zh) 软件应用的测试方法、装置、处理器及电子装置
CN109034660A (zh) 基于预测模型的风险控制策略的确定方法及相关装置
CN110427998A (zh) 模型训练、目标检测方法及装置、电子设备、存储介质
CN110659581B (zh) 一种图像处理方法、装置、设备和存储介质
CN109076198A (zh) 基于视频的对象跟踪遮挡检测系统、过程和设备
CN108686978A (zh) 基于arm的水果类别和色泽的分拣方法及系统
CN109784381A (zh) 标注信息处理方法、装置及电子设备
CN108197618A (zh) 用于生成人脸检测模型的方法和装置
CN110427859A (zh) 一种人脸检测方法、装置、电子设备及存储介质
CN113688167A (zh) 基于深度兴趣网络的深度兴趣捕获模型构建方法及装置
CN103914802A (zh) 用于使用导入的深度信息的图像选择和掩蔽的系统与方法
CN110348387A (zh) 一种图像数据处理方法、装置以及计算机可读存储介质
CN110009614A (zh) 用于输出信息的方法和装置
CN110446063A (zh) 视频封面的生成方法、装置及电子设备
CN110152290A (zh) 游戏运行方法和装置、存储介质及电子装置
CN108197030A (zh) 基于深度学习的软件界面自动测试云平台装置及测试方法
CN107256428A (zh) 数据处理方法、数据处理装置、存储设备及网络设备
CN105868102B (zh) 一种基于计算机视觉的移动端应用测试系统及方法
CN109101931A (zh) 一种场景识别方法、场景识别装置及终端设备
CN109858476A (zh) 标签的扩充方法和电子设备
CN109858230A (zh) 滑块验证方法、装置、计算机设备及存储介质
CN109446618A (zh) 一种基于vr的古建筑构件搭建模拟方法
CN109859216A (zh) 基于深度学习的测距方法、装置、设备及存储介质
CN108704312A (zh) 美术资源的测试方法及装置
CN114360018A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191108