一种训练样本的生成方法及生成装置
技术领域
本申请属于图像处理的
技术领域
,尤其涉及一种训练样本的生成方法及生成装置。背景技术
多分类模型是图像处理领域中常用的识别手段,可应用于不同的场景,例如:应用于车辆识别场景,以实现对车辆类型、车辆颜色、车辆品牌以及朝向等不同车辆信息对应的标签进行识别。其中,对于车辆识别场景而言,往往需要同时识别车辆样本图像中的多个车辆信息对应的标签。故多分类模型在训练阶段需要获取具有多个标签的训练样本(训练样本包括车辆样本图像以及车辆样本图像对应的多个标签),并通过训练样本对多分类模型进行训练。
然而,训练样本在采集过程中往往由于车辆样本图像过于模糊、主体缺失或属性稀缺性等原因,无法获取车辆样本图像对应车辆信息的所有标签。导致训练样本集合中每种车辆信息的标签分布不均匀,进而导致根据训练样本集合训练得到的多分类模型的分类效果不佳。故,如何保证训练样本集合中各类标签的均匀分布,成了一个亟需解决的技术问题。
发明内容
有鉴于此,本申请实施例提供了一种训练样本的生成方法、生成装置、终端设备以及计算机可读存储介质,可以解决训练样本集合中每种标签的数据分布不均匀的技术问题。
本申请实施例的第一方面提供了一种训练样本的生成方法,所述生成方法包括:
获取多个车辆样本图像各自对应的原始标签集合;所述原始标签集合包括由不同的车辆信息各自对应标签构成的集合;
在所述原始标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到所述原始标签集合对应的第一标签集合;所述预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型;
按照不同目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组;所述目标第一标签集合是指包括所述预设顺序对应的所述目标车辆信息的第一标签集合;
循环执行所述按照不同所述目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组的步骤,并将各个所述第一标签集合组以及各个所述第一标签集合组对应的车辆样本图像作为目标训练样本集合;所述目标训练样本集合用于训练所述多分类模型。
本申请实施例的第二方面提供了一种训练样本的生成装置,所述生成装置包括:
获取单元,用于获取多个车辆样本图像各自对应的原始标签集合;所述原始标签集合包括由不同的车辆信息各自对应标签构成的集合;
处理单元,用于在所述原始标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到所述原始标签集合对应的第一标签集合;所述预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型;
排列单元,用于按照不同目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组;所述目标第一标签集合是指包括所述预设顺序对应的所述目标车辆信息的第一标签集合;
循环单元,用于循环执行所述按照不同所述目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组的步骤,并将各个所述第一标签集合组以及各个所述第一标签集合组对应的车辆样本图像作为目标训练样本集合;所述目标训练样本集合用于训练所述多分类模型。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请通过,保留原始标签集合中单个目标车辆信息对应的第一标签,将其余车辆信息对应的第二标签替换为预设参数,得到第一标签集合。其中,预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型。也即,每个第一标签集合中有且仅有一个标签。进而按照不同目标车辆信息的预设顺序,在多个第一标签集合中获取每个预设顺序对应的一个目标第一标签集合,形成第一标签集合组,并以此循环执行上述步骤,得到目标训练样本集合。由于在循环排列后,不同目标车辆信息的第一标签的数量均匀且分布具有循环性,故可保证不同目标车辆信息的第一标签的均匀分布。解决了训练样本集合中每种标签的数据分布不均匀的技术问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请提供的一种训练样本的生成方法的示意性流程图;
图2示出了本申请提供的一种训练样本的生成方法中步骤101的示意性流程图;
图3示出了本申请提供的一种训练样本的生成方法中步骤1012的示意性流程图;
图4示出了本申请提供的一种训练样本的生成方法中步骤102的示意性流程图;
图5示出了本申请提供的另一种训练样本的生成方法中的示意性流程图;
图6示出了本申请提供的另一种训练样本的生成方法的示意性流程图;
图7示出了本申请提供的另一种训练样本的生成方法中的示意性流程图;
图8示出了本申请提供的目标多分类模型的网络结构的示意图;
图9示出了本申请提供的一种训练样本的生成装置的示意图;
图10是本发明一实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了更好地理解本申请解决的技术问题,故在此结合示例对上述背景技术进行进一步说明:
车辆识别技术是一种利用深度学习模型进行车辆信息识别的技术。车辆识别技术所采用的深度学习网络包括单分类模型和多分类模型。单分类模型和多分类模型识别车辆信息的过程分别如下:
①单分类模型:处理器分别调用多个单分类模型,不同的单分类模型分别对应不同的车辆信息(例如:车辆类型、车辆颜色、车辆品牌以及朝向等)。不同的单分类模型分别识别车辆样本图像中的不同的车辆信息。其中,不同的单分类模型均需要单独进行训练与部署。而大多数设备的内存以及计算能力有限,无法承载多个单分类模型的存储和运算。同时多个单分类模型的部署与设计也增加了开发难度与开发时间。为了克服单分类模型的局限性,故多分类模型孕育而生。
②多分类模型:处理器调用多分类模型。多分类模型针对车辆样本图像识别不同的车辆信息。无需多个单分类模型既可实现多车辆信息识别。
其中,在训练多分类模型时,需要获取具有多个标签(每个标签对应一个车辆信息)的训练样本(训练样本包括车辆样本图像以及车辆样本图像对应的多个标签),并通过训练样本对多分类模型进行训练。
然而,训练样本在采集过程中往往由于车辆样本图像过于模糊、主体缺失或车辆信息稀缺性等原因,无法获取车辆样本图像对应车辆信息的所有标签。导致训练样本集合中每种车辆信息对应的标签分布不均匀。进而导致根据训练样本集合训练得到的多分类模型的分类效果不佳。故,如何保证训练样本集合中各类标签的均匀分布,成了一个亟需解决的技术问题。
有鉴于此,本申请实施例提供了一种训练样本的生成方法、生成装置、终端设备以及计算机可读存储介质,可以解决上述技术问题。
首先,本申请提供了一种训练样本的生成方法。请参见图1,图1示出了本申请提供的一种训练样本的生成方法的示意性流程图。如图1所示,该生成方法可以包括如下步骤:
步骤101,获取多个车辆样本图像各自对应的原始标签集合;所述原始标签集合包括由不同的车辆信息各自对应标签构成的集合。
不同的标签用于表征不同的车辆信息。车辆信息包括但不限于车辆类型、车辆颜色、车牌类型、车牌颜色、车辆品牌以及朝向等车辆信息。原始标签集合中包括不同的车辆信息各自对应标签,如表1所示:
表1:
其中,表1仅用于示例,对于表1中的车辆信息种类、车辆信息种类数量、标签数值、标签数量以及图像数量不做任何限定。
如表1所示车辆样本图像A标签集合中包括如下标签{2,1,0,1},车辆样本图像B标签集合中包括如下标签{1,2,3,1}。每一种车辆信息对应多个标签,多个标签分别表征不同的车辆信息。例如,车辆类型对应标签“1”表征小型客车,车辆类型对应标签“2”表征货车。又例如:车辆颜色标签对应标签“1”表征黑色,车辆颜色标签对应标签“2”表征白色。
原始标签集合可以是数据库中的现有数据。原始标签集合也可以是人工针对车辆样本图像进行预标注得到的标签集合。其中,由于数据库中的现有数据往往存量较少,无法满足训练需求。而人工标注的工作量巨大且耗时。故本实施例提供了一种生成原始标签集合的方式,可提高标注的效率和质量,具体过程如下图2可选实施例所示:
作为本申请的一个可选实施例,步骤101,包括步骤1011至步骤1015。请参见图2,图2示出了本申请提供的一种训练样本的生成方法中步骤101的示意性流程图。
步骤1011,获取多个第一车辆样本图像以及预先训练的第一多分类模型。
在现有的数据库中获取多个训练图像以及多个训练图像各自对应的训练标签。将训练图像输出初始多分类模型处理,得到由初始多分类模型输出的初始分类结果。通过计算初始分类结果与训练标签之间的损失值,更新初始多分类模型中的参数。每个训练图像以及每个训练图像对应的训练标签依次循环执行上述训练过程,得到预先训练的第一多分类模型。其中,上述训练过程的执行节点可以在步骤1011之前或步骤1011之中。
在现有的数据库中获取多个第一车辆样本图像。
步骤1012,将所述第一车辆样本图像输入所述第一多分类模型处理,得到由所述第一多分类模型输出所述第一车辆样本图像对应的第一原始标签集合。
作为本申请的一个可选实施例,步骤1012,包括步骤A1至步骤A3。请参见图3,图3示出了本申请提供的一种训练样本的生成方法中步骤1012的示意性流程图。
步骤A1,通过车辆检测模型,截取每个所述过滤车辆样本图像中车辆所处图像区域对应的目标图像。
每个过滤车辆样本图像中普遍存在一定的冗余区域,故通过车辆检测模型,截取每个所述过滤车辆样本图像中车辆所处图像区域对应的目标图像,以减少不必要的计算量。
步骤A2,通过车辆过滤模型,过滤多个所述第一车辆样本图像,得到过滤车辆样本图像。
由于多个第一车辆样本图像中可能存在非车辆图像,故通过车辆过滤模型过滤非车辆图像,得到过滤车辆样本图像。
步骤A3,将所述目标图像输入所述第一多分类模型处理,得到由所述第一多分类模型输出所述第一车辆样本图像对应的第一原始标签集合。
步骤1013,获取基于所述第一原始标签集合扩充的多个第二车辆样本图像。
由于在步骤1011中获取的多个第一车辆样本图像可能存在数据缺失,例如:不存在某个车辆类型或不存在某个车辆颜色等等。为补充缺失的数据,故在步骤1013中,根据第一原始标签集合得到的车辆信息,补充缺失数据对应的补充车辆样本图像。例如:车辆类型中的皮卡车类型缺失,则补充皮卡车类型对应的皮卡车图像。
补充车辆样本图像和第一车辆样本图像构成第二车辆样本图像。其中,对于缺失数据的判定,可以通过人为判定。也可以根据预设车辆信息列表进行逐一比对,得到缺失数据列表,并依据缺失数据列表,补充缺失数据对应的补充车辆样本图像。
作为本申请的一个可选实施例,对于缺失数据的判定可仅针对一种具有代表性的车辆信息进行判定,以减少判定计算量。例如:由于车辆品牌对应的样本图像往往包含较为完整的车辆信息(即车辆品牌对应的样本图像中往往包含车辆类型、车辆颜色、车牌类型、车牌颜色以及朝向等车辆信息),故可仅根据车辆品牌判定缺失数据。反观,若以车牌颜色作为基准获取对应的颜色样本图像,则颜色样本图像存在往往仅包含车牌区域的图像(即缺失车辆品牌、车牌类型以及朝向等车辆信息),故车牌颜色对于众多车辆信息而言不具有代表性。故可优先选用车辆品牌作为代表,判定缺失数据。
步骤1014,将所述第二车辆样本图像集合输入所述第一多分类模型处理,得到由所述第一多分类模型输出所述第二车辆样本图像对应的第二原始标签集合。
步骤1014的执行过程与图3所示可选实施例类似,请参考图3所示可选实施例,在此不再赘述。
步骤1015,将所述第二原始标签集合,作为多个车辆样本图像各自对应的所述原始标签集合。
步骤102,在所述原始标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到所述原始标签集合对应的第一标签集合;所述预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型。
由于每个车辆样本图像中的不同车辆信息,可能存在一定缺失,例如:在拍摄图像时未能拍摄到车牌,导致车牌号码、车牌类型以及车牌颜色等信息缺失。又例如:车辆样本图像过于模糊,无法分辨车辆品牌以及车牌号码等等信息。
因而每个车辆样本图像中车辆信息缺失的数量不一,无法进行统一处理。故,本申请提前将每个原始标签集合“统一化”,以进行后续处理。“统一化”是指在原始标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到原始标签集合对应的第一标签集合。即每个第一标签集合中仅保留一个标签。
示例性地,“统一化”过程如表2和表3所示:
表2:
表3:
其中,表2和表3仅用于示例,对于表2和表3中的车辆信息种类、车辆信息种类数量、标签数值、标签数量、预设参数以及图像数量不做任何限定。
如表2所示车辆样本图像A的原始标签集合中仅包含1类标签,车辆样本图像B的原始标签集合中仅包含3类标签,车辆样本图像C的原始标签集合中仅包含3类标签,车辆样本图像D的原始标签集合中仅包含2类标签。
将表2中的每个原始标签集合仅保留单个目标车辆信息,将其余车辆信息对应的第二标签替换为预设参数“-1000”(预设参数也可以为其他数值),得到如表3所示的第一标签集合。
需要强调的是,对于每个车辆样本图像对应的目标车辆信息,需要进行预设。预设方式如下:根据车辆信息的类型数量,将所有车辆样本图像均分为若干份(份数与类型数量相等)。每份车辆样本图像依次对应不同类型的车辆信息。例如:当前有1000个车辆样本图像,车辆信息的类型数量为5,则将1000个车辆样本图像平均分为5份(每份250个),将5份车辆样本图像依次对应不同类型的车辆信息。
其中,若所有车辆样本图像无法进行平分,即无法整除类型数量,则可剔除少量车辆样本图像或复制少量车辆样本图像,直至所有车辆样本图像的图像数量可被类型数量整除。
作为本申请的一个可选实施例,步骤102,包括步骤1021至步骤1022。请参见图4,图4示出了本申请提供的一种训练样本的生成方法中步骤102的示意性流程图。
步骤1021,将多个所述原始标签集合中错误标签集合进行纠正,得到第二标集合;所述错误标签集合是指所述多分类模型错误分类得到的标签集合。
由于经过图2所示可选实施例中的第一多分类模型得到的原始标签集合,可能存在错误分类得到的错误标签集合。故本申请在得到多个原始标签集合后,对多个原始标签集合中的错误标签集合进行纠正,得到第二标集合。
步骤1022,在所述第二标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到每个所述第二标签集合对应的所述第一标签集合。
作为本申请的一个可选实施例,步骤102也可以无需针对错误标签集合进行纠正,将所有原始标签集合处理为第一标签集合。
步骤103,按照不同目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组;所述目标第一标签集合是指包括所述预设顺序对应的所述目标车辆信息的第一标签集合。
预设顺序为预先设置的顺序,以将拥有不同目标车辆信息的第一标签集合进行有序排列。预设顺序可以依照不同目标车辆信息的分类难易程度,由难至易进行排列或由易至难进行排列。
目标第一标签集合是指包括预设顺序对应的目标车辆信息的第一标签集合。
示例性地,假设目标车辆信息的预设顺序为车辆类型标签、车牌颜色标签、车辆品牌标签以及车牌类型标签。步骤103完整执行过程为:在多个第一标签集合中获取一个目标车辆信息为车辆类型的第一目标第一标签集合。在多个第一标签集合中获取一个目标车辆信息为车牌颜色标签的第二目标第一标签集合。在多个第一标签集合中获取一个目标车辆信息为车辆品牌标签的第三目标第一标签集合。在多个第一标签集合中获取一个目标车辆信息为车牌类型标签的第四目标第一标签集合。第一目标第一标签集合、第二目标第一标签集合、第三目标第一标签集合以及第四目标第一标签集合构成第一标签集合组。如表4所示:
表4:
其中,表4仅用于示例,对于表4中的车辆信息种类、车辆信息种类数量、标签数值、标签数量、预设参数以及图像数量不做任何限定。
如表4所示,车辆样本图像A、车辆样本图像C、车辆样本图像B以及车辆样本图像D对应的第一标签集合构成第一标签集合组。其中,车辆类型标签、车牌颜色标签、车辆品牌标签以及车牌类型标签的分类难度由易至难。
步骤104,循环执行所述按照不同所述目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组的步骤,并将各个所述第一标签集合组以及各个所述第一标签集合组对应的车辆样本图像作为目标训练样本集合;所述目标训练样本集合用于训练所述多分类模型。
循环步骤103,得到不同的第一标签集合组,每个第一标签集合组中的第一标签集合都不相同(也即每个第一标签集合仅提取一次)。将各个第一标签集合组以及各个第一标签集合组对应的车辆样本图像作为目标训练样本集合。
示例性地,以八个车辆样本图像以及四类车辆信息为例,可得到如表5所示的两个第一标签集合组:
表5:
其中,表5仅用于示例,对于表5中的车辆信息种类、车辆信息种类数量、标签数值、标签数量、预设参数以及图像数量不做任何限定。
如表5所示,由于各个第一标签集合组都需经过循环排列,故每一种车辆信息的标签数据均匀分布。进而根据均匀分布的目标训练样本集合训练的多分类模型的分类性能较为均衡。
作为本申请的一个可选实施例,若车辆信息的类型数量与多个第一标签集合的数量无法整除(即剩余第一标签集合无法组合成第一标签集合组),则将已经取完的第一标签集合从首位依次与其他剩余第一标签集合进行组合,直至数量最大的第一标签集合组合完毕。例如:五种分别包含不同目标车辆信息的第一标签集合的数量分别为5、5、4、3以及5。第一种第一标签集合为A1、A2、A3、A4以及A5,第二种第一标签集合为B1、B2、B3、B4以及B5,第三种第一标签集合为C1、C2、C3以及C4,第四种第一标签集合为D1、D2以及D3,第五种第一标签集合为E1、E2、E3、E4以及E5。可以理解的是,第四种第一标签集合最先取完,故可重复根据D1、D2以及D3的顺序继续与其他剩余第一标签集合进行组合,直至数量最大的第一标签集合组合完毕。第四种第一标签集合同理,在此不再赘述。
作为本申请的一个可选实施例,在步骤104之后,还包括步骤105至步骤106。请参见图5,图5示出了本申请提供的另一种训练样本的生成方法中的示意性流程图。
步骤105,通过所述目标训练样本集合训练所述第一多分类模型,得到第二多分类模型。
由于经过上述所有可选实施例处理后得到的目标训练样本集合中数据的覆盖度往往不够,需要进行多轮循环,才能得到较为全面的目标训练样本集合。
故本申请首先根据目标训练样本集合优化第一多分类模型,得到第二多分类模型,以在循环过程中获取更加精确的训练样本。
步骤106,将所述第二多分类模型作为预先训练的第一多分类模型,将目标训练样本集合中的图像作为所述第一车辆样本图像,并循环执行所述获取多个第一车辆样本图像以及预先训练的第一多分类模型的步骤以及后续步骤,直至所述目标训练样本集合符合预设条件。
将所述第二多分类模型作为预先训练的第一多分类模型,将目标训练样本集合中的图像作为所述第一车辆样本图像,并循环执行步骤1011,以此不断扩充目标训练样本,直至所述目标训练样本集合符合预设条件。
其中,预设条件可以是指目标训练样本的样本数量达到阈值或样本类型数量达到阈值。
作为本申请一个可选实施例,往往第一多分类模型错分的缘由,是由于第一多分类模型无法在某类车辆信息中进行充分训练(即某类车辆信息对应的训练数据较少),造成第一多分类模型针对该车辆信息的分类错误率较高。故基于上述规律,也可将第一多分类模型的分类性能作为预设条件。
在本实施例中,保留原始标签集合中单个目标车辆信息对应的第一标签,将其余车辆信息对应的第二标签替换为预设参数,得到第一标签集合。其中,预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型。也即,每个第一标签集合中有且仅有一个标签。进而按照不同目标车辆信息的预设顺序,在多个第一标签集合中获取每个预设顺序对应的一个目标第一标签集合,形成第一标签集合组,并以此循环执行上述步骤,得到目标训练样本集合。由于在循环排列后,不同目标车辆信息的第一标签的数量均匀且分布具有循环性,故可保证不同目标车辆信息的第一标签的均匀分布。解决了训练样本集合中每种标签的数据分布不均匀的技术问题。
可选地,在上述所有实施例的基础上,所述生成方法,还包括如下步骤,请参见图6,图6示出了本申请提供的另一种训练样本的生成方法的示意性流程图。
步骤601,通过所述目标训练样本集合训练目标多分类模型,得到训练后的目标多分类模型。
可以理解的是,图1至图5所示实施例为获取目标训练样本集合的过程,也即采集训练数据的过程。而步骤601为利用目标训练样本集合训练目标多分类模型的过程。其中,目标多分类模型可以为初始化的多分类模型或者第一多分类模型。其中,由于第一多分类模型经过多次训练,故第一多分类模型的参数较优,故可优先选择第一多分类模型作为目标多分类模型。
作为本申请的一个可选实施例,所述步骤601包括步骤6011至步骤6018。请参见图7,图7示出了本申请提供的另一种训练样本的生成方法中的示意性流程图。
步骤6011,将目标第一标签集合以及目标第一标签集合对应的车辆样本图像输入所述目标多分类模型。
目标多分类模型可采用Caffe深度学习框架。目标多分类模型的网络结构请参见图8,图8示出了本申请提供的目标多分类模型的网络结构的示意图。如图8所示,目标多分类模型包括输入层(输入层包括Data层以及Slice层)、特征提取层(主干网络)、多个第一分支网络以及第二分支网络。每个分支网络由各自对应的全连接层以及Softmax层构成。其中,目标多分类模型的分支网络可以更多或更少,可根据实际分类需求进行设定。
步骤6012,所述输入层将所述车辆样本图像输入特征提取层。
步骤6013,所述特征提取层对所述车辆样本图像进行特征提取,得到所述车辆样本图像的特征数据。
步骤6014,所述输入层将所述目标第一标签集合切分,得到多个车辆信息各自对应的多个预设参数和第一标签。
其中,由于Caffe深度学习框架只支持单维标签,故为了支持多维标签(第一标签集合)。其中,数据标签往往采用lmdb格式,多维标签一般可以直接采用hdf5格式但是从数据读取速率以及对大数据集的有效性方面我们一般选择lmdb格式。故可修改Caffe中的convert_imageset.cpp以支持多标签生成lmdb格式的目标第一标签集合。而在存储lmdb格式的第一标签集合时,由于单个变量无法存储lmdb格式的第一标签集合,故可将lmdb格式的第一标签集合存储至向量中。
在第一标签集合输入目标多分类模型时,需要针对第一标签集合进行切分,以得到多类车辆信息各自对应的多个预设参数和第一标签。其中,在Caffe深度学习框架中,可采用Slice层对目标第一标签集合进行切分。
作为本申请的一个实施例,输入层还可以通过如下方式获取各类车辆信息对应的标签:在输入输入层前,将各类车辆信息对应标签设置不同的标志位。在输入层拉取各类车辆信息对应标签时,仅根据标志位在目标训练样本中拉取对应的训练样本即可。
步骤6015,所述输入层将多个预设参数分别输入多个预设参数各自对应的所述第一分支网络;所述输入层将第一标签输入所述第二分支网络。
步骤6016,所述第一分支网络根据所述预设参数,暂停所述预设参数对应的车辆信息对所述目标多分类模型的训练操作。
步骤6017,所述第二分支网络根据所述特征数据,得到目标分类预测结果;计算所述目标分类预测结果与所述第一标签之间的损失;根据所述损失更新所述目标多分类模型中的网络权重参数。
第二分支网络中的全连接层根据所述特征数据,得到目标分类结果(即各类车辆信息对应标签)。Softmax层计算每个标签的概率,计算过程为:
其中,a表示Softmax层输出的概率,Z表示全连接层的标签,表示输出n个ezj相加。
根据Softmax层输出的概率以及第一标签,计算损失值,计算过程为:
其中,Loss表示损失值,y表示第一标签对应的概率(1或0),a表示Softmax层输出的概率。
根据损失值进行反向传播,更新目标多分类模型中的网络参数。
步骤6018,每个目标训练样本依次执行所述将目标第一标签集合以及目标第一标签集合对应的车辆样本图像输入所述目标多分类模型的步骤以及后续步骤,得到训练后的目标多分类模型。
作为本申请的一个可选实施例,可将目标训练样本集合划分为训练集和测试集,训练集用于执行步骤6011至步骤6018的过程,得到目标多分类模型。测试集用于验证目标多分类模型的分类准确度。若目标多分类模型的分类准确度低于阈值,则重复获取新的训练集训练目标多分类模型,直至分类准确度不低于阈值。
在本实施例中,由于目标训练样本集合中不同目标车辆信息的第一标签的均匀分布,避免了根据目标训练样本集合训练得到的目标多分类模型对某一类别出现过拟合的现象,分类性能更加均衡,对每类处理信息的分类精确度高。且由于多任务联合训练,多任务中的不同任务的局部最小值处于不同的位置,通过相互作用,可以避免隐含层陷入局部最小值。
如图9本申请提供了一种训练样本的生成装置9,请参见图9,图9示出了本申请提供的一种训练样本的生成装置的示意图,如图9所示一种训练样本的生成装置包括:
获取单元91,用于获取多个车辆样本图像各自对应的原始标签集合;所述原始标签集合包括由不同的车辆信息各自对应标签构成的集合;
处理单元92,用于在所述原始标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到所述原始标签集合对应的第一标签集合;所述预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型;
排列单元93,用于按照不同目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组;所述目标第一标签集合是指包括所述预设顺序对应的所述目标车辆信息的第一标签集合;
循环单元94,用于循环执行所述按照不同所述目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组的步骤,并将各个所述第一标签集合组以及各个所述第一标签集合组对应的车辆样本图像作为目标训练样本集合;所述目标训练样本集合用于训练所述多分类模型。
本申请提供的一种训练样本的生成装置,生成装置通过,保留原始标签集合中单个目标车辆信息对应的第一标签,将其余车辆信息对应的第二标签替换为预设参数,得到第一标签集合。其中,预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作。也即,每个第一标签集合中有且仅有一个标签。进而按照不同目标车辆信息的预设顺序,在多个第一标签集合中获取每个预设顺序对应的一个目标第一标签集合,形成第一标签集合组,并以此循环执行上述步骤,得到目标训练样本集合。由于在循环排列后,不同目标车辆信息的第一标签的数量均匀且分布具有循环性,故可保证不同目标车辆信息的第一标签的均匀分布。解决了训练样本集合中每种标签的数据分布不均匀的技术问题。
图10是本发明一实施例提供的一种终端设备的示意图。如图10所示,该实施例的一种终端设备100包括:处理器1001、存储器1002以及存储在所述存储器1002中并可在所述处理器1001上运行的计算机程序1003,例如一种训练样本的获取程序。所述处理器1001执行所述计算机程序1003时实现上述各个一种训练样本的生成方法实施例中的步骤,例如图1所示的步骤101至步骤104。或者,所述处理器1001执行所述计算机程序1003时实现上述各装置实施例中各单元的功能,例如图9所示单元91至94的功能。
示例性的,所述计算机程序1003可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器1002中,并由所述处理器1001执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序1003在所述一种终端设备10中的执行过程。例如,所述计算机程序1003可以被分割成各单元的具体功能如下:
获取单元,用于获取多个车辆样本图像各自对应的原始标签集合;所述原始标签集合包括由不同的车辆信息各自对应标签构成的集合;
处理单元,用于在所述原始标签集合中保留单个目标车辆信息对应的第一标签,并将其余车辆信息对应的第二标签替换为预设参数,得到所述原始标签集合对应的第一标签集合;所述预设参数用于暂停所述其余车辆信息对多分类模型的训练操作或测试操作;所述第一标签用于训练或测试所述多分类模型;
排列单元,用于按照不同目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组;所述目标第一标签集合是指包括所述预设顺序对应的所述目标车辆信息的第一标签集合;
循环单元,用于循环执行所述按照不同所述目标车辆信息的预设顺序,在多个所述第一标签集合中获取每个所述预设顺序对应的一个目标第一标签集合,形成第一标签集合组的步骤,并将各个所述第一标签集合组以及各个所述第一标签集合组对应的车辆样本图像作为目标训练样本集合;所述目标训练样本集合用于训练所述多分类模型。
所述终端设备中包括但不限于处理器1001以及存储器1002。本领域技术人员可以理解,图10仅仅是一种终端设备10的示例,并不构成对一种终端设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器1001可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1002可以是所述一种终端设备10的内部存储单元,例如一种终端设备10的硬盘或内存。所述存储器1002也可以是所述一种终端设备10的外部存储设备,例如所述一种终端设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1002还可以既包括所述一种终端设备10的内部存储单元也包括外部存储设备。所述存储器1002用于存储所述计算机程序以及所述一种漫游控制设备所需的其他程序和数据。所述存储器1002还可以用于暂时地存储已经输出或者将要输出的数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于监测到”。类似地,短语“如果确定”或“如果监测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦监测到[所描述条件或事件]”或“响应于监测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。