分类模型的训练方法和装置、移动终端、可读存储介质与流程

文档序号:16037204发布日期:2018-11-24 10:10阅读:155来源:国知局

本申请涉及计算机应用领域,特别是涉及一种分类模型的训练方法和装置、移动终端、计算机可读存储介质。

背景技术

人工智能(artificialintelligence,ai)领域的发展日新月异,特别是随着深度学习技术的广泛应用,其在物体检测、识别等领域取得了突破性的进展。一般,人工智能ai算法主要是基于监督式学习的深度学习技术,而训练数据是人工智能模型的驱动力。

目前的训练数据获取方式主要包含开源数据集、网络爬取、线下采集。然而,为了获得大量与学习任务相关的数据,一般需要对开源数据集和网络爬取的数据进行人工筛选分类。在人工筛选阶段,由于参与的人力较多,且筛选分类的标准参差不齐,常常会带来大量分类误差。为了减小分类误差,一般是通过多级人工审核机制纠正分类误差以确保数据质量,但此方法会费大量的人力和时间,数据清洗效率低下。



技术实现要素:

本申请实施例提供一种分类模型的训练方法和装置、移动终端、计算机可读存储介质,可以实现数据的快速高效清洗、节约人力成本。

一种分类模型的训练方法,包括:

基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息;

基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息;

当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集;

基于所述目标数据集再次训练所述分类模型。

一种分类模型的训练装置,包括:

模型训练模块,用于基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息;

识别分类模块,用于基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息;

数据清洗模块,用于当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集;

模型优化模块,用于基于所述目标数据集再次训练所述分类模型。

一种移动终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行分类模型的训练方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现分类模型的训练方法的步骤。

本申请实施例中分类模型的训练方法和装置、移动终端、计算机可读存储介质,可以基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息;基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息;当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取清洗后的目标数据集;基于清洗后的所述目标数据集再次训练所述分类模型,可以基于半自动的清洗方式来保证目标数据集中各个数据的质量,而不需要通过多级人工审核机制来保证数据质量,大大节约的人力成本,提高了数据清洗效率,同时基于该目标数据集训练分类模型,还可以提高分类模型的精度和性能。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中分类模型的训练方法的流程图;

图2为一个实施例中拍摄场景的类别示意图;

图3为一个实施例中当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集的流程图;

图4为另一个实施例中当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集的流程图;

图5为一个实施例中基于预设数据集训练分类模型直到所述分类模型的精度达到标准值的流程图;

图6为一个实施例中神经网络的架构示意图;

图7为另一个实施例中神经网络的架构示意图;

图8为一个实施例中获取所述预设数据集的流程图;

图9为另一个实施例中分类模型的训练方法的流程图;

图10为一个实施例中图像处理装置的结构框图;

图11为一个实施例中移动终端的内部结构示意图;

图12为一个实施例中图像处理电路的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中分类模型的训练方法的流程图。如图1所示,一种分类模型的训练方法,包括步骤102至步骤106。其中:

步骤102,基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息。

将构建的预设数据集预先存储在终端或服务器,其中,预设数据集中包括大量且足够用于训练分类模型的数据,该数据可以图像数据、视频数据、文字数据、语音数据等。在本申请中,预设数据集包括的数据为图像数据,也即,以图像数据为例进行说明。根据需要训练的学习任务,每个数据均携带了标注信息,其标注信息是人工标注而成,也即,标注信息表示人工赋予该图像数据的标签。标注信息包括图像类别和对象类别中的至少一种。其中,图像类别可以理解为图像数据中背景区域的训练目标,例如,风景、海滩、雪景、蓝天、绿地、夜景、黑暗、背光、日出/日落、室内、烟火、聚光灯等。对象类别为图像数据中前景区域的训练目标,例如,人像、婴儿、猫、狗、美食等。另外,背景训练目标和前景训练目标还可为文本文档、微距等。

具体的,该分类模型为神经网络,神经网络包括至少包含一个输入层、n个中间层和两个输出层的神经网络,其中,将第i个中间层配置为图像特征提取层,该第j个中间层级联到该神经网络的第一支路,将该第k个中间层级联到该神经网络的第二支路,其中,i小于j,j小于k;i、j、k、n均为正整数,且i、j、k均小于n;一个输出层位于该第一支路,一个输出层位于该第二支路。该神经网络的第一支路的第一输出可以在用该神经网络进行图像检测时输出第一置信度,该第一置信度表示采用该神经网络检测出的背景图像所属指定图像类别的置信度。该神经网络的第二支路的第二输出可以在用该神经网络进行图像检测时输出每种预选的默认边界框相对于指定对象所对应的真实边界框的偏移量参数和所属指定对象类别的第二置信度。

在统计学中,一个概率样本的置信区间是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信度是被测量参数的测量值的可信程度。

在预设数据集中将数据按照预设比例划分为训练集和测试集,在训练集上对分类模型进行训练,并基于训练好的分类模型对测试集的数据进行测试,以获取该分类模型的测试识别率,也即,该分类模型的精度(性能),直到该训练模型的精度达到标准值,例如80%或其他数值,当该分类模型的精度达到80%时,则表明可以利用该分类模型对任一图像数据进行分类识别,其识别效果能够达到预期的效果。

步骤104,基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息。

当训练后的分类模型的精度达到标注值时,根据训练后的分类模型来识别预设数据集内每个数据,并获取每个数据的类别信息。当分类模型为神经网络时,利用神经网络对图像数据的背景进行分类检测,输出第一置信度图,以及对图像数据的前景进行目标检测,输出第二置信度图;其中,第一置信度图中的每个像素点表示图像数据中每个像素点属于背景检测目标的置信度,第二置信度图中的每个像素点表示图像数据中每个像素点属于前景检测目标的置信度;根据第一置信度图和第二置信度图进行加权得到图像数据的最终置信度图;根据最终置信度图确定图像数据的类别信息。

其中,类别信息包括图像类别和对象类别中的至少一种。其中,图像类别可以理解为图像数据中背景区域的训练目标,例如,风景、海滩、雪景、蓝天、绿地、夜景、黑暗、背光、日出/日落、室内、烟火、聚光灯等。对象类别为图像数据中前景区域的训练目标,例如,人像、婴儿、猫、狗、美食等。另外,背景训练目标和前景训练目标还可为文本文档、微距等。需要说明的是,背景区域是指图像数据的背景部分,前景区域是指图像数据的前景部分。

如图2所示,图像数据的拍摄场景可包括背景区域的图像类别、前景区域的对象类别和其他。背景区域的图像类别可包括风景、海滩、雪景、蓝天、绿地、夜景、黑暗、背光、日出/日落、室内、烟火、聚光灯等。前景区域的对象类别可为人像、婴儿、猫、狗、美食等。其他可为文本文档、微距等。

可以理解的是,类别信息与标注信息所表达的含义相同,若分类模型的精度达到目标值时,其同一图像数据的标注信息与该分类模型识别出的类别信息应当一致。

步骤106,当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集。

预设数据集中的每个数据都具有标注信息,该标注信息是基于人工标注的方式来形成的。同时,基于训练后的分类模型,可以对预设数据集中的每个数据进行识别,并获取相应的类别信息。对于同一数据,获取并对比该数据的标注信息以及类别信息,当类别信息与标注信息不一致时,则对该数据进行清洗,以获取目标数据集。

需要说明的是,类别信息与标注信息所表达的含义相同,若分类模型的精度达到目标值时,其同一图像数据的标注信息与该分类模型识别出的类别信息应当一致。

具体的,当类别信息与标注信息不一致时,先确定其标注信息、类别信息的正确性;基于标注信息、类别信息的正确性对数据进行清洗。数据清洗包括纠正标注信息、删除原始数据、增加新的数据等操作。对预设数据集的数据集进行清洗后以形成目标数据集,可以使目标数据集的数据均携带正确的标注信息,保证目标数据集中各个数据的质量,而不需要通过多级人工审核机制来保证数据质量,大大节约的人力成本,提高了数据清洗效率。

步骤108,基于所述目标数据集再次训练所述分类模型。

移动终端可以基于目标数据集再次训练该分类模型。其中,再次训练分类模型的方式与步骤102中的训练分类模型的方式相同,在此,不再赘述。由于保证了输入至该分类模型中的各个数据的质量,因此,可以提高分型模型的性能,也可以提高该分类模型精度的可信度。

上述分类模型的训练方法,基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息;基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息;当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取清洗后的目标数据集;基于所述目标数据集再次训练所述分类模型,可以基于半自动的清洗方式来保证目标数据集中各个数据的质量,而不需要通过多级人工审核机制来保证数据质量,大大节约的人力成本,提高了数据清洗效率,同时基于该目标数据集训练分类模型,还可以提高分类模型的精度和性能。

图3为一个实施例中当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集的流程图。在一个实施例中,当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取清洗后的目标数据集,包括步骤302-步骤306。

步骤302,当所述数据的类别信息与标注信息不一致时,验证所述标注信息的正确性。

基于上述步骤104,基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息,可以获取预设数据集内每个数据的类别信息。其中,类别信息包括图像类别和/或对象类别,即,类别信息可以仅包括图像类别(该数据仅包括背景区域的训练目标,如海滩);类别信息可以仅包括对象类别(该数据仅包括前景区域的训练目标,如美食);类别信息可以同时包括图像类别和对象类别(该数据既包括背景区域的训练目标,也包括前景区域的训练目标,如海滩和人像)。

终端也可以获取该数据的标注信息,其中,该标注信息为在形成预设数据集时,由人工筛选标注而成。相应的,标注信息包括图像类别和/或对象类别。也即,标注信息可以为图像类别,例如,风景、海滩、雪景、蓝天等;标注信息也可以为对象类别,例如人像,人像+婴儿,人像+猫等;标注信息还可以包括图像类别和对象类别,例如,人像+风景;人像+日落;人像+聚光灯等。

将获取的同一数据的类别信息与标注信息进行对比,并判断其类别信息与标注信息是否一致,当类别信息与标注信息不一致时,进一步验证所述标注信息的正确性。

在进行人工标注的过程中,涉及标注的人工较多,其标注标准参差不齐,可能会导致其标注信息标注错误的现象发生。另外,利用训练后的模型进行自动标注的过程中,当分类模型的精度未达到100%时,也有可能导致其标注信息标注错误。基于此,可以通过人工验证的方式,来验证该数据的标注信息的正确性。当预设数据集中携带的标注信息与当前基于人工验证的标注信息一致时,则表明其标注信息正确。需要说明的是,当前基于人工验证的标注信息可指的是当前时刻人工再次对该图像数据进行标注。

例如,该数据携带的标注信息为海滩+人像,当前基于人工验证的标注信息为海滩+人像,此时,则表明其标注信息正确;该数据携带的标注信息为夜景+人像,当前基于人工验证的标注信息为背光+人像,此时,则表明其标注信息不正确。

步骤304,当所述标注信息不正确时,更正所述标注信息以清洗所述数据。

当标注信息不正确时,需要对更正该标注信息,也即,将该数据携带的标注信息更正为当前基于人工验证的标注信息,进而达到清洗该数据的目的。例如,该数据携带的标注信息为夜景+人像,当前基于人工验证的标注信息为背光+人像;此时,标注信息不正确,可以将数据携带的标注信息(夜景+人像)更正为当前基于人工验证的标注信息(背光+人像)。

步骤306,根据清洗后的所述数据形成所述目标数据集。

基于步骤304,可以对预设数据集中所有标注信息不正确的数据进行更正,实现对预设数据集中各个数据的清洗,进而使各个数据携带正确的标注信息。继而,对预设数据集中的数据清洗后,即可形成目标数据集,可以基于半自动的清洗方式来保证目标数据集中各个数据的质量,而不需要通过多级人工审核机制来保证数据质量,大大节约的人力成本,提高了数据清洗效率,同时基于该目标数据集训练分类模型,还可以提高分类模型的精度和性能。

图4为另一个实施例中当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集的流程图。在一个实施例中,当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取清洗后的目标数据集,包括步骤402-步骤406。

步骤402,当所述数据的类别信息与标注信息不一致时,验证所述类别信息的正确性。

将获取的同一数据的类别信息与标注信息进行对比,并判断其类别信息与标注信息是否一致,当类别信息与标注信息不一致时,进一步验证类别信息的正确性。

该类别信息是由训练后的分类模型对该数据进行识别后输出的结果,当分类模型的精度未达到100%时,仍然会存在小概率的识别结果错误的现象。类别信息与标注信息不一致时,基于人工验证类别信息的正确性。

具体地,在验证类别信息的正确性前,需要优先验证标注信息是否正确,只有在标注信息正确的前提下,才继续验证类别信息的正确性。也即,当类别信息与标注信息不一致时,验证标注信息的优先级高于验证类别信息的优先级。这样可以避免因标注信息错误而引起的分类模型的误判。

当标注信息正确时,可以通过人工验证的方式,来验证该数据的类别信息的正确性。当类别信息与标注信息一致时,则表明该类别信息正确;当类别信息与标注信息不一致时,则表明类别信息不正确。其中,类别信息不正确包括该分类模型未识别出该数据的类别信息,或,该分类模型识别出了该数据的类别信息,但是类别信息与标注信息不一致。

步骤404,当所述类别信息不正确时,删除所述数据或增加携带所述标注信息的新数据,以清洗所述数据。

其中,类别信息不正确包括该分类模型未识别出该数据的类别信息,或,该分类模型识别出了该数据的类别信息,但是类别信息与标注信息不一致。

当该分类模型未识别出该数据的类别信息时,可以说明,该数据本身是错误的,也即,该数据是与学习任务无关联的数据,此时,可以删除该数据,以实现对预设数据集的清洗。

当该分类模型识别出了该数据的类别信息,但是类别信息与标注信息不一致时,表明该分类模型的精度未达到100%,发生了小概率的识别结果错误的现象。例如,该分类模型的精度达到了标准值80%,也即,还有20%的可能性,会出现识别错误的情况发生,此时,可以继续向预设数据集中添加携带正确的标注信息的新数据,优化预设数据集,进而进一步的训练该分类模型,提高分类模型的精度。可选的,也可以不对该数据进行处理,基于步骤306形成的目标数据集再次训练分类模型后,重复执行步骤步骤104-步骤108。

步骤406,根据清洗后的所述数据形成所述目标数据集。

基于步骤304,可以对预设数据集中所有标注信息不正确的数据进行更正,实现对预设数据集中各个数据的清洗,进而使各个数据携带正确的标注信息。继而,对预设数据集中的数据清洗后,即可形成目标数据集,可以基于半自动的方式来保证目标数据集中各个数据的质量,而不需要通过多级人工审核机制来保证数据质量,大大节约的人力成本,提高了数据清洗效率,同时基于该目标数据集训练分类模型,还可以提高分类模型的精度和性能。

在一个实施例中,所述分类模型为神经网络。基于预设数据集训练分类模型直到所述分类模型的精度达到标准值,包括步骤502-步骤508。

步骤502,获取所述预设数据集,并对所述预设数据集进行划分以形成训练集和测试集。

根据学习任务获取预设数据集,其中,学习任务可以理解为分类模型的终极识别目标,也即,训练分类模型的目的。根据学习任务可以利用网络爬虫技术和/或开源数据集获取大量的数据,并对获取的数据进行人工标注,也即为数据设定标签,使每种数据携带标注信息。其中,标注信息包括图像类别和/或对象类别。例如,图像数据中,仅包括人像区域,则该图像数据的标注信息为人像;若图像数据中全景区域为海滩,则该图像数据的标注信息为海滩;若图像数据中,背景区域为日出,前景区域为人像,则该图像数据的标注信息为日出和人像。同时,该预设数据集中的数据数量能够满足训练分类模型的要求。

进一步地,每类图像类别和每类对象类别的数量均保持在一个合适的范围内,例如,携带标注信息的每种类别的图像数据的数量可以保持在8000-10000张的范围内,这样可以保证每种类别的图像数据经过分类模型训练后的综合质量,避免预设数据集中某个类别的图像数据相对较多或较少,出现对自身类别或其他类别训练效果影响的结果。

移动终端可以按照预设比例将预设数据集中的数据划分为训练集和测试集。例如,训练集中的图像数据的数量与测试集中的图像数据的数量的预设比例可以设为9:1,也即训练集的数据数量与测试集的数据数量比值为9:1。当然,可以可以根据实际需求来设置预设比例,在此,不做进一步的限定。

步骤504,将携带标注信息的所述训练集输入到神经网络,通过所述神经网络的基础网络层进行特征提取,将提取的图像特征输入到分类网络层和目标检测网络层,在所述分类网络层得到反映所述数据中背景图像所属指定图像类别的第一预测置信度与第一真实置信度之间的差异的第一损失函数,在所述目标检测网络层得到反映所述数据中前景目标所属指定对象类别的第二预测置信度与第二真实置信度之间的差异的第二损失函数;

具体地,可以将训练集中的携带标注信息的图像数据输入到神经网络,得到反映该图像数据中背景区域各像素点的第一预测置信度与第一真实置信度之间的差异的第一损失函数,以及反映该图像数据中前景区域各像素点的第二预测置信度与第二真实置信度之间的差异的第二损失函数;该第一预测置信度为采用该神经网络预测出的该图像数据中背景区域某一像素点属于该背景训练目标的置信度,该第一真实置信度表示在该图像数据中预先标注的该像素点属于该背景训练目标的置信度;该第二预测置信度为采用该神经网络预测出的该图像数据中前景区域某一像素点属于该前景训练目标的置信度,该第二真实置信度表示在该图像数据中预先标注的该像素点属于该前景训练目标的置信度。

在神经网络训练过程中,可将训练集中的携带标注信息的图像数据输入到神经网络中,神经网络根据背景训练目标和前景训练目标进行特征提取,通过sift(scale-invariantfeaturetransform)特征、方向梯度直方图(histogramoforientedgradient,hog)特征等提取特征,再通过ssd(singleshotmultiboxdetector)、vgg(visualgeometrygroup)、卷积神经网络(convolutionalneuralnetwork,cnn)等目标检测算法,对背景训练目标进行检测得到第一预测置信度,对前景训练目标进行检测得到第二预测置信度。第一预测置信度为采用该神经网络预测出的该图像数据中背景区域某一像素点属于该背景训练目标的置信度。第二预测置信度为采用该神经网络预测出的该图像数据中前景区域某一像素点属于该前景训练目标的置信度。

图像数据中可以预先标注背景训练目标和前景训练目标,得到第一真实置信度和第二真实置信度。该第一真实置信度表示在该图像数据中预先标注的该像素点属于该背景训练目标的置信度。第二真实置信度表示在该图像数据中预先标注的该像素点属于该前景训练目标的置信度。针对图像中的每种像素点,真实置信度可以表示为1(或正值)和0(或负值),分别用以表示该像素点属于训练目标和不属于训练目标。

求取第一预测置信度与第一真实置信度之间的差异得到第一损失函数,求其第二预测置信度与第二真实置信度之间的差异得到第二损失函数。第一损失函数和第二损失函数均可采用对数函数、双曲线函数、绝对值函数等。

针对图像数据中的每一个或者多个像素点,可以利用神经网络预测出一个针对训练目标的置信度。

步骤506,将所述第一损失函数和第二损失函数进行加权求和得到目标损失函数;

首先给第一损失函数和第二损失函数分别配置对应的权重值,该权重值可根据识别场景进行调整。将第一损失函数乘以对应的第一权重值a,第二损失函数乘以对应的第二权重值b,再求取两个乘积之和得到目标损失函数。

步骤508,根据所述目标损失函数调整所述神经网络的参数;

具体地,神经网络的参数是指每层网络的权重值。利用目标损失函数调整神经网络的参数,使得第一损失函数和第二损失函数均最小化,也就是使得像素点的预测置信度与真实置信度之间的差异都最小,或者使得各个像素点的预测置信度与真实置信度之间的差异之和最小化,从而得到训练好的神经网络。目标损失函数调整神经网络的参数可通过反向传播算法逐级调整每层网络的参数。

步骤510,基于反复调整后的所述神经网络对所述测试集进行测试,直到所述神经网络的精度达到标准值。

将测试集携带标注信息的图像数据输入至调整参数后的神经网络,对该神经网络进行价值评估,以获取训练后的神经网络的精度。该精度也可以理解为神经网络对测试集中各数据的测试识别率,其识别率越高,精度也就越高,其训练后的神经网络的性能也就越好。

本实施例中,通过对背景训练目标所对应的第一损失函数和前景训练目标所对应的第二损失函数的加权求和得到目标损失函数,根据目标损失函数调整神经网络的参数,使得训练的神经网络后续可以同时识别出图像类别和对象类别,获取更多的信息,且提高了识别效率。

图6为一个实施例中神经网络的架构示意图。如图6所示,神经网络的输入层接收携带标注信息的图像数据,通过基础网络(如cnn网络)进行特征提取,并将提取的图像特征输出给特征层,由该特征层进行背景训练目标的检测得到第一损失函数,以及进行前景训练目标的检测得到第二损失函数,将第一损失函数和第二损失函数进行加权求和得到目标损失函数。

图7为另一个实施例中神经网络的架构示意图。如图7所示,神经网络的输入层接收携带标注信息的图像数据,通过基础网络(如cnn网络)进行特征提取,并将提取的图像特征输出给特征层,由该特征层对背景训练目标进行类别检测得到第一损失函数,对前景训练目标根据图像特征进行类别检测得到第二损失函数,对前景训练目标根据前景区域进行位置检测得到位置损失函数,将第一损失函数、第二损失函数和位置损失函数进行加权求和得到目标损失函数。该神经网络可为卷积神经网络。卷积神经网络包括数据输入层、卷积计算层、激活层、池化层和全连接层。数据输入层用于对原始图像数据进行预处理。该预处理可包括去均值、归一化、降维和白化处理。去均值是指将输入数据各个维度都中心化为0,目的是将样本的中心拉回到坐标系原点上。归一化是将幅度归一化到同样的范围。白化是指对数据各个特征轴上的幅度归一化。卷积计算层用于局部关联和窗口滑动。卷积计算层中每种滤波器连接数据窗的权重是固定的,每种滤波器关注一个图像特征,如垂直边缘、水平边缘、颜色、纹理等,将这些滤波器合在一起得到整张图像的特征提取器集合。一个滤波器是一个权重矩阵。通过一个权重矩阵可与不同窗口内数据做卷积。激活层用于将卷积层输出结果做非线性映射。激活层采用的激活函数可为relu(therectifiedlinearunit,修正线性单元)。池化层可夹在连续的卷积层中间,用于压缩数据和参数的量,减小过拟合。池化层可采用最大值法或平均值法对数据降维。全连接层位于卷积神经网络的尾部,两层之间所有神经元都有权重连接。卷积神经网络的一部分卷积层级联到第一置信度输出节点,一部分卷积层级联到第二置信度输出节点,一部分卷积层级联到位置输出节点,根据第一置信度输出节点可以检测到图像的背景分类,根据第二置信度输出节点可以检测到图像的前景目标的类别,根据位置输出节点可以检测到前景目标所对应的位置。

图8为一个实施例中获取所述预设数据集的流程图。在一个实施例中,所述获取所述预设数据集,包括步骤802-步骤804。

步骤802,根据学习任务获取具有第一预设数量且携带标注信息的第一数据集;

其中,学习任务可以理解为分类模型的终极识别目标,也即,训练分类模型的目的。根据学习任务可以定义待获取数据的类别信息,也即图像类别和对象类别。根据定义的类别信息可以利用网络爬虫技术和/或开源数据集获取大量的数据,并对获取的数据进行人工筛选分类标注,也即为数据设定标签,使每种数据携带标注信息。其中,标注信息包括图像类别和对象类别中的至少一种,也即,标注信息可以为图像类别,例如,风景、海滩、雪景、蓝天等;标注信息也可以为对象类别,例如人像,人像+婴儿,人像+猫等;标注信息还可以包括图像类别和对象类别,例如,人像+风景;人像+日落;人像+聚光灯等。标注信息与分类模型的训练任务相关联,其标注信息的准确性影响着分类模型的精度。分类模型训练需要同时输入携带标注信息的第一数据集,根据学习任务来训练分类模型。

其中,每类图像类别和每类对象类别的数据数量在预设范围内,可以相等,也可以不等。数量的具体数值可以根据实际需求来设定,例如,可以设定为2000或其他数值,通过人工筛选分类就可以筛选出包括第一预设数量的图像数据。

步骤804,在所述第一数据集上训练分类模型,并评估所述分类模型的精度;

具体地,该分类模型可以为神经网络。移动终端可以将第一数据集的图像数据按照预设比例分为训练集和测试集,将训练集的图像数据和标注信息输入至神经网络的输入层,对该神经网络进行训练,进而调整神经网络的参数。将测试集的图像数据和标注信息同时输入至调整参数后的神经网络,获取训练后的神经网络对第一数据集中测试集的测试识别率,也即,对该神经网络进行价值评估,以获取训练后的神经网络的精度。该步骤与前述实施例中步骤102的实施方式相同,在此,不再赘述。

步骤806,当所述精度达到预设值时,则基于训练后的所述分类模型筛选未标注的数据,将筛选出的数据合并至所述第一数据集以形成第二数据集;

由于第一数据集内的图像数据的数量较少,而为了使分类模型的性能达到最优,则需要上万到几十万个图片数据,若全部靠人力收集数据以及对该数据进行标注,耗时长、效率低且成本高。当分类模型对测试集的数据的测试精度达到预设值时,可以表示训练后的分类模型的性能较好,可以用于对图像数据进行分类筛选。基于训练后的分类模型可以对网络获取的大量未标注的图像数据进行识别、筛选、标注。同时,将训练后的分类模型识别出的图像数据进行标注,并合并至第一数据集中,以形成第二数据集。其中,通过分类模型识别出的图像数据中,每种图像类别和每种对象类别的图像数据的数量均在预设范围内,可以相同,也可以不同。同时,每类图像类别和每种对象类别的图像数据的总和大于目标数据集的目标数量,也即第二数据集的图像数据的数量大于预设数据集的图像数据的目标数量。

通过训练后的分类模型可以对网络获取的大量的未标注的图像数据进行筛选、分类、标注,可以避免耗费大量的人力去筛选图像数据,并对其进行分类处理,大大提高了获取符合学习任务的数据集的效率。

步骤808,对所述第二数据集进行数据清洗以形成预设数据集,其中,第二数据集的数据数量大于等于预设数据集的数据数量。

通过数据清洗可以删除第二数据集中的无关数据、重复数据,平滑噪声数据,也即删除与学习任务无关的数据,处理缺失值、异常值,进而获取预设数据集。通过数据清洗,可以使预设数据集中的数据符合预设要求,即各个数据均是与训练模型高度相关联的数据;且预设数据集的保留的数据数量达到目标数量。其中,预设数据集中,每种图像类别和每种对象类别的图像数据的质量和数量都可以达到预设要求,例如,每种图像类别和每种对象类别的图像数据的数量范围在5000-10000张之间,这样,由每种图像类别和每种对象类别的图像数据构成的目标数据集可以的数量可达到几万、十几万。

本实施例中的方法,在预设数据集的获取过程中,可以基于第一数据集训练分类模型,继而通过训练后的分类模型来筛选分类未标注的大量数据,并对其自动标注,可以减少人工分类标注的数量,节约了标注成本,同时,提高了获取符合学习任务的预设数据集的效率和质量。

图9为另一个实施例中,分类模型的训练方法的流程图。在一个实施例中,所述基于清洗后的数据集再次对所述分类模型进行训练后,还包括:

步骤902,获取再次训练后的分类模型的精度以判断数据清洗是否有效。

基于目标数据集再次训练分类模型,并获取本次训练后的分类模型的精度,并判断步骤106中,对数据进行清洗是否有效。也即,当基于目标数据集再次训练分类模型的精度高于标准值时,则可以认为步骤106中的数据清洗是有效的。

步骤904,当数据清洗有效时,重复执行对预设数据集的数据的清洗,直到所述分类模型的精度达到目标值。

当数据清洗有效时,可以重复执行对预设数据集的数据的清洗,知道多次训练后的分类模型的精度达到目标值。也即,当数据清洗有效时,可以重复执行步骤104-步骤108,重复对清洗目标数据集中的各个数据,以使目标数据集中的每个数据都是高质量的,继而为分类模型的训练提供优质数据集,可以提高分类模型的精度。

应该理解的是,虽然图1-5、图8-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5、图8-9的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图10为一个实施例中分类模型的训练装置的结构框图。在一个实施例中,分类模型的训练装置,包括:

模型训练模块,基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息;

识别分类模块,基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息;

数据清洗模块,当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取目标数据集;

模型优化模块,基于所述目标数据集再次训练所述分类模型。

上述分类模型的训练装置,能够基于预设数据集训练分类模型直到所述分类模型的精度达到标准值;其中,所述预设数据集中的数据均携带标注信息;基于训练后的所述分类模型对所述预设数据集内每个数据进行识别,以获取每个所述数据的类别信息;当所述数据的类别信息与标注信息不一致时,对所述数据进行清洗,以获取清洗后的目标数据集;基于所述目标数据集再次训练所述分类模型,可以基于半自动的清洗方式来保证目标数据集中各个数据的质量,而不需要通过多级人工审核机制来保证数据质量,大大节约的人力成本,提高了数据清洗效率,同时基于该目标数据集训练分类模型,还可以提高分类模型的精度和性能。

在一个实施例中,数据清洗模块,包括:

第一验证单元,用于当所述数据的类别信息与标注信息不一致时,验证所述标注信息的正确性;

第一清洗单元,用于当所述标注信息不正确时,更正所述标注信息以清洗所述数据;

第一形成单元,用于根据清洗后的所述数据形成所述目标数据集。

在一个实施例中,数据清洗模块,包括:

第二验证单元,用于当所述数据的类别信息与标注信息不一致时,验证所述类别信息的正确性;

第二清洗单元,用于当所述类别信息不正确时,删除所述数据或增加携带所述标注信息的新数据,以清洗所述数据;

第二形成单元,用于根据清洗后的所述数据形成所述目标数据集。

进一步的,当所述数据的类别信息与标注信息不一致时,验证所述标注信息的优先级高于验证所述类别信息的优先级。

在一个实施例中,模型训练模块,包括:

获取单元,用于获取所述预设数据集,并对所述预设数据集进行划分以形成训练集和测试集;

处理单元,用于将携带标注信息的所述训练集输入到神经网络,通过所述神经网络的基础网络层进行特征提取,将提取的图像特征输入到分类网络层和目标检测网络层,在所述分类网络层得到反映所述数据中背景图像所属指定图像类别的第一预测置信度与第一真实置信度之间的差异的第一损失函数,在所述目标检测网络层得到反映所述数据中前景目标所属指定对象类别的第二预测置信度与第二真实置信度之间的差异的第二损失函数;

加权单元,用于将所述第一损失函数和第二损失函数进行加权求和得到目标损失函数;

调整单元,用于根据所述目标损失函数调整所述神经网络的参数;

测试单元,用于基于反复调整后的所述神经网络对所述测试集进行测试,直到所述神经网络的精度达到所述标准值。

在一个实施例中,获取单元,还用于根据学习任务获取具有第一预设数量且携带标注信息的第一数据集;在所述第一数据集上训练分类模型,并评估所述分类模型的精度;当所述精度达到预设值时,则基于训练后的所述分类模型筛选未标注的数据,将筛选出的数据合并至所述第一数据集以形成第二数据集;对所述第二数据集进行数据清洗以形成预设数据集,其中,第二数据集的数据数量大于等于预设数据集的数据数量。

在一个实施例中,分类模型的训练装置,还包括:

判断模块,用于获取再次训练后的分类模型的精度以判断数据清洗是否有效;

清洗模块,用于当数据清洗有效时,重复执行对预设数据集的数据的清洗,直到所述分类模型的精度达到目标值。

上述分类模型的训练装置中各个模块的划分仅用于举例说明,在其他实施例中,可将神经网络处理装置或图像处理装置按照需要划分为不同的模块,以完成上述分类模型的训练装置的全部或部分功能。

本申请实施例还提供一种移动终端。该移动终端包括存储器及处理器,该存储器中储存有计算机程序,该计算机程序被该处理器执行时,使得该处理器执行该的分类模型的训练方法的步骤。

本申请实施例还提供一种计算机可读存储介质。一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现该的分类模型的训练方法的步骤。

图11为一个实施例中移动终端的内部结构示意图。如图11所示,该移动终端包括通过系统总线连接的处理器、存储器和网络接口。其中,该处理器用于提供计算和控制能力,支撑整个移动终端的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于移动终端的无线网络通信方法。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种分类模型的训练方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的移动终端进行通信。该移动终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。

本申请实施例中提供的分类模型的训练装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在移动终端或服务器上运行。该计算机程序构成的程序模块可存储在移动终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行分类模型的训练方法。

本申请实施例还提供一种移动终端。上述移动终端中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义isp(imagesignalprocessing,图像信号处理)管线的各种处理单元。图12为一个实施例中图像处理电路的示意图。如图12所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。

如图12所示,图像处理电路包括isp处理器1240和控制逻辑器1250。成像设备1210捕捉的图像数据首先由isp处理器1240处理,isp处理器1240对图像数据进行分析以捕捉可用于确定和/或成像设备1210的一个或多个控制参数的图像统计信息。成像设备1210可包括具有一个或多个透镜1212和图像传感器1214的照相机。图像传感器1214可包括色彩滤镜阵列(如bayer滤镜),图像传感器1214可获取用图像传感器1214的每种成像像素捕捉的光强度和波长信息,并提供可由isp处理器1240处理的一组原始图像数据。传感器1220(如陀螺仪)可基于传感器1220接口类型把采集的图像处理的参数(如防抖参数)提供给isp处理器1240。传感器1220接口可以利用smia(standardmobileimagingarchitecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。

此外,图像传感器1214也可将原始图像数据发送给传感器1220,传感器1220可基于传感器1220接口类型把原始图像数据提供给isp处理器1240,或者传感器1220将原始图像数据存储到图像存储器1230中。

isp处理器1240按多种格式逐个像素地处理原始图像数据。例如,每种图像像素可具有8、10、12或14比特的位深度,isp处理器1240可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。

isp处理器1240还可从图像存储器1230接收图像数据。例如,传感器1220接口将原始图像数据发送给图像存储器1230,图像存储器1230中的原始图像数据再提供给isp处理器1240以供处理。图像存储器1230可为存储器装置的一部分、存储设备、或移动终端内的独立的专用存储器,并可包括dma(directmemoryaccess,直接直接存储器存取)特征。

当接收到来自图像传感器1214接口或来自传感器1220接口或来自图像存储器1230的原始图像数据时,isp处理器1240可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器1230,以便在被显示之前进行另外的处理。isp处理器1240从图像存储器1230接收处理数据,并对所述处理数据进行原始域中以及rgb和ycbcr颜色空间中的图像数据处理。isp处理器1240处理后的图像数据可输出给显示器1270,以供用户观看和/或由图形引擎或gpu(graphicsprocessingunit,图形处理器)进一步处理。此外,isp处理器1240的输出还可发送给图像存储器1230,且显示器1270可从图像存储器1230读取图像数据。在一个实施例中,图像存储器1230可被配置为实现一个或多个帧缓冲器。此外,isp处理器1240的输出可发送给编码器/解码器1260,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器1270设备上之前解压缩。编码器/解码器1260可由cpu或gpu或协处理器实现。

isp处理器1240确定的统计数据可发送给控制逻辑器1250单元。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜1212阴影校正等图像传感器1214统计信息。控制逻辑器1250可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备1210的控制参数及isp处理器1240的控制参数。例如,成像设备1210的控制参数可包括传感器1220控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、透镜1212控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。isp控制参数可包括用于自动白平衡和颜色调整(例如,在rgb处理期间)的增益水平和色彩校正矩阵,以及透镜1212阴影校正参数。

以下为运用图12中图像处理技术实现上述的分类模型的训练方法的步骤。

本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1