一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度学习的图像数据标注系统及其方法与流程

2022-06-12 02:38:04 来源:中国专利 TAG:


1.本发明涉及图像数据标注的技术领域,特别涉及一种基于深度学习的图像数据标注系统及其方法。


背景技术:

2.使用深度模型解决实际问题的第一步是获得相应应用场景的标注数据。一般来说,训练出一个表现较好的模型需要成千上万的标注数据,标注量巨大,且当标注任务涉及到垂直领域的专业知识时,还需要对相关人员进行上岗培训,导致人力成本和时间成本急剧上升。
3.标注的精度也是至关重要的一环,人工打标存在较强的不确定性和偶然性,这就对标注后的质检环节提出了较高的要求,需要根据不同的场景设计不同的质检方式,培训更为专业的质检人员,综合成本很高。因此,亟需自动化标注工具来减少标注成本,获得高精度的标注数据。
4.但实现高精度的自动标注是一件十分困难的事情,现有的半自动化标注主要方式有两种:小样本学习和主动学习。小样本学习是指小样本模型通过一些一个或几个示例就快速建立对新概念的认知,但一般来说,小样本模型的泛化能力有限,样本特征的局限使模型无法在更复杂的模式下的达到理想的检测精度,在实际中使用较少;主动学习使用一定的算法查询最有用的未标记样本,并交由专家进行标记,通过模型与人工专家的交互来不断向模型提供新的模式特征来提高模型的精度,效果较好,但标注与交互迭代的时间仍较长,过程较繁琐。


技术实现要素:

5.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于深度学习的图像数据标注系统,能够解决标注精度低,交互迭代效率低的问题。
6.本发明还提出一种基于深度学习的图像数据标注方法。
7.根据本发明的第一方面实施例的基于深度学习的图像数据标注系统,包括:聚类模块,用于对输入的样本图像进行聚类,基于聚类挑选出待标注启动数据,其中所述待标注启动数据在标注后作为小样本深度学习模块的输入数据;小样本深度学习模块,用于接收标注后的启动数据,对深度学习模型进行训练;交互模块,用于抽样获取所述深度学习模型的标识结果,通过交互界面确认所述深度学习模型的识别精度,并根据所述深度学习模型的识别精度启动半监督训练模块对所述深度学习模型进行循环训练;半监督训练模块,用于基于上一轮训练的所述深度学习模型,获取未标注的所述样本图像的预测标注框,对所述预测标注框进行筛选,并根据筛选出的所述预测标注框对所述深度学习模型进行迭代更新。
8.根据本发明实施例的基于深度学习的图像数据标注系统,至少具有如下有益效果:可以通过较少的启动数据对算法模型进行训练来对数据进行批量标注,获得实际可用
的高质量训练数据,用户仅需对少量的数据进行标注,大幅地降低了用户的标注成本。
9.根据本发明的一些实施例,所述聚类模块包括:特征聚类模块,用于提取所述样本图像的特征图,对所述样本图像的图像特征进行降维并聚类,得到聚类簇;挑选模块,用于根据业务需求确定挑选策略,基于所挑选策略从所述聚类簇中选取若干所述样本图像,作为所述待标注启动数据。
10.根据本发明的一些实施例,所述小样本深度学习模块包括:图像金字塔生成模块,用于接收标注好的启动数据,剪裁出正样本目标,对所述正样本目标进行多尺度缩放,生成多尺度图像金字塔;训练模块,用于接收标注好的启动数据以及相应的所述多尺度图像金字塔,输入所述深度学习模型进行迭代训练
11.根据本发明的一些实施例,所述半监督训练模块包括:训练数据挑选模块,用于基于上一轮训练的所述深度学习模型,对未标注的所述样本图像进行预测,选取置信度在预设阈值以上的预测框作为所述样本图像的标注,作为本轮训练输入的样本标注图像,以对所述深度学习模型进行迭代更新。
12.根据本发明的一些实施例,还包括:数据清洗模块,用于对输入的图像数据进行清洗,去除损坏图像及重复图像,筛选出符合预设图像规格的所述样本图像。
13.根据本发明的第二方面实施例的基于深度学习的图像数据标注方法,包括以下步骤:对输入的样本图像进行聚类,基于聚类挑选出待标注启动数据,其中所述待标注启动数据用以标注,作为深度学习模型训练的输入数据;接收标注后的启动数据,对所述深度学习模型进行训练;抽样获取所述深度学习模型的标识结果,通过交互界面确认所述深度学习模型的识别精度;根据所述深度学习模型的识别精度对所述深度学习模型进行半监督循环训练;所述半监督循环训练中,基于上一轮训练的所述深度学习模型,获取未标注的所述样本图像的预测标注框,对所述预测标注框进行筛选,并根据筛选出的所述预测标注框对所述深度学习模型进行迭代更新。
14.根据本发明实施例的基于深度学习的图像数据标注方法,至少具有如下有益效果:可以通过较少的启动数据对算法模型进行训练来对数据进行批量标注,获得实际可用的高质量训练数据,用户仅需对少量的数据进行标注,大幅地降低了用户的标注成本。
15.根据本发明的一些实施例,所述对输入的样本图像进行聚类,基于聚类挑选出待标注启动数据包括:提取所述样本图像的特征图,对所述样本图像的图像特征进行降维并聚类,得到聚类簇;根据业务需求确定挑选策略,基于所述挑选策略,从所述聚类簇中选取距离所述聚类中心一定阈值范围内的所述样本图像或从所述聚类簇中随机选取若干所述样本图像,作为所述待标注启动数据。
16.根据本发明的一些实施例,所述接收标注后的启动数据,对所述深度学习模型进行训练包括:接收标注好的启动数据,剪裁出正样本目标,对所述正样本目标进行多尺度缩放,生成多尺度图像金字塔;接收标注好的启动数据以及相应的所述多尺度图像金字塔,输入所述深度学习模型进行迭代训练。
17.根据本发明的一些实施例,所述半监督循环训练包括:基于上一轮训练的所述深度学习模型,对未标注的所述样本图像进行预测,选取置信度在预设阈值以上的预测框作为所述样本图像的标注,作为本轮训练输入的样本标注图像;获取输入的所述样本标注图像的所述多尺度图像金字塔,分别进行第一数据处理和第二数据处理后,输入至所述深度
学习模型,得到相应的第一预测标签和第二预测标签;比对所述第一预测标签和第二预测标签,计算相应的损失函数,对所述深度学习模型进行迭代更新。
18.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
19.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
20.图1为本发明实施例的系统的内部模块的概要示意图;
21.图2为本发明实施例的系统的内部模块的详细示意图;
22.图3为本发明实施例的方法中对数据处理的流程示意图;
23.图4为本发明实施例的方法中的训练过程的示意框图;
24.图5为本发明实施例的方法中的流程示意图。
25.附图标记:
26.聚类模块100、小样本深度学习模块200、交互模块300、半监督训练模块400、数据清洗模块500;特征聚类模块110、挑选模块120;图像金字塔生成模块210、训练模块220;训练数据挑选模块410。
具体实施方式
27.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
28.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。在本发明的描述中,步骤标号仅是为了描述的方便或者引述的方便所作出的标识,各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
29.图1示出了根据本发明实施例的系统的主要内部模块,包括:聚类模块100、小样本深度学习模块200、交互模块300和半监督训练模块400。
30.聚类模块100用于从输入的样本图像数据(这些样本图像数据初始未被标注)中挑选待标注启动数据,该待标注启动数据被标注后用作小样本深度学习模块200的输入数据。聚类模块100通过对样本图像数据进行聚类,并基于聚类结果挑选出待启动数据。本实施例中,不对具体的聚类方法进行限定,只要可以根据业务需求进行聚类即可。
31.小样本深度学习模块200,用于接收相对少量的人工标注后的启动数据,对作为目标的深度学习模型进行训练。
32.交互模块300,用于对作为目标的深度学习模型的标识结果进行抽样,并通过交互界面进行显示,以接收用户对该深度学习模型结果的识别精度的确认。若识别精度未达预
期,则启动半监督训练模块对深度学习模型进行循环训练。显然,若识别精度已达到预期,可以不再启动半监督训练模块。
33.半监督训练模块400,用于基于上一轮训练的深度学习模型,获取未进行人工标注的样本图像的预测标注框,筛选预测标注框,并根据筛选结果对深度学习模型进行迭代更新。
34.具体地,参照图2,本发明实施例中的聚类模块100包括:特征聚类模块110,用于提取样本图像的特征图,对样本图像的图像特征进行降维并聚类,得到聚类簇;挑选模块120,用于根据业务需求确定挑选策略,根据挑选策略从聚类簇中选取若干样本图像,作为待标注启动数据。本实施例中,对于获取图像的特征图的方法并不限定,可以是,例如,通过deepcluster模型提取特征图;也不对特征的降维方法及聚类方法作出限定。挑选模块120从聚类簇中挑选样本图像的方法,即挑选策略,可以是从聚类簇中选取距离聚类中心一定阈值范围内的样本图像,也可以进行随机挑选,也可以自定义,例如,按不同的权重从聚类簇中抽取不同数量的图像数据。
35.本发明的另一些实施例中,也可以直接使用样本图像的原图作为聚类对象。
36.参照图2,本发明实施例中的小样本深度学习模块200包括:图像金字塔生成模块210、训练模块220。
37.输入标注好的启动数据至小样本深度学习模块200,小样本学习模块会将该启动数据分别输入至图像金字塔生成模块210和训练模块220。图像金字塔生成模块210对启动数据进行裁剪,剪裁出正样本目标,对正样本目标进行多尺度缩放,生成多尺度图像金字塔,该多尺度图像金字塔被输入至训练模块220。
38.本实施例中的训练模块220会接收输入的标注的启动数据及其对应的多尺度图像金字塔,对深度学习模型进行迭代更新。
39.在本发明的一个实施例中,训练模块包括:主分支训练模块(未图示)和第一分支训练模块(未图示)。
40.主分支训练模块执行以下操作(参照图4中间的主干fastcnn):将启动数据输入深度学习模型的主分支进行训练,计算出主分支的背景分类损失、rpn边框回归损失、类别分类损失和roi边框回归损失。第一分支训练模块,将多尺度图像金字塔输入深度学习模型的第一多尺度细化分支(参照图4),计算第一多尺度细化分支的类别分类损失和背景分类损失,并将这两个损失合并至主分支相应的损失中,对深度学习模型整体进行迭代更新。其中,深度学习模型包括特征提取网络,且深度学习模型的主分支与第一多尺度细化分支的特征提取网络的权值共享。损失合并到主分支的方法可以是,例如,累加至主分支相应的损失中。
41.在本发明的另一个实施例中,不管是标注的启动数据还是相应的多尺度图像金字塔,都输入至深度学习模型的主分支。即,此时只有主干没有分支。计算出主分支的背景分类损失、rpn边框回归损失、类别分类损失和roi边框回归损失;并根据这些损失对该深度学习模型进行迭代更新。
42.在一些实施例中,小样本深度学习模块还包括:预处理模块,用于对输入的标注的启动数据进行预处理,例如,数据增加,数据增强包括:包括平移,翻转,旋转,移位,噪声等。标注的启动数据进行预处理后再输入至训练模块,或者经由图像金字塔生成模块210后再
输入至训练模块220。
43.半监督训练模块400中包括:训练数据挑选模块410,用于将未标注的样本图像数据输入至基于上一轮训练的深度学习模型,进行预测,选取置信度在预设阈值以上的预测框作为样本图像的标注,作为本轮训练输入的样本标注图像,以对深度学习模型进行迭代更新。
44.参照图2,本实施例中还包括:数据清洗模块500(参照虚线框),用于对输入的图像数据进行清洗,去除损坏图像及重复图像,筛选出符合预设图像规格的样本图像。本发明的一些实施例中,可以不包括该模块,而是直接接收输入的预设图像规格的样本图像。
45.本实施例的如图1所示的系统执行如图5所示的步骤,包括:
46.输入样本图像,进行聚类,基于聚类挑选出待标注启动数据;该待标注启动数据在被标注后,作为深度学习模型训练的输入数据;
47.接收标注后的启动数据,对深度学习模型进行训练;
48.抽样获取深度学习模型的标识结果,通过交互界面确认深度学习模型的识别精度;
49.根据深度学习模型的识别精度对深度学习模型进行半监督循环训练:基于上一轮训练的深度学习模型,获取未标注的样本图像的预测标注框,对预测标注框进行筛选,并根据筛选出的预测标注框对深度学习模型进行迭代更新。
50.图3为使用图2所示的系统对数据处理的整体流程。首先,用户通过数据集上传接口上传图像数据,并进行数据清洗,数据清洗过程包括:去除损坏图像、去除重复图像、去除不支持格式图像、数据质量评估(数量、分辨率)等。然后,从清洗后的图像数据通过聚类方法选取一部分的图像作为待标注的启动图像数据,这些数据通过界面交互供用户进行标注;用户可以配合使用标注工具对启动图像数据进行标注。输入标注好的启动图像数据(相当于样本标注数据),通过小样本深度学习模型(图2中的few-shot模型)进行训练,得到粗标模型。通过该粗标模型可抽样返回部分数据通过交互界面供用户确认标注效果,若达到精度则停止训练,输出标注结果。若小样本深度学习模型训练得到的模型精度不满足预设要求时,追加半监督循环训练,以提升模型精度。
51.下面将详述本发明实施例的数据处理过程。
52.首先,从海量的清洗后的图像数据(以下将清洗后的图像数据称为样本图像)中抽取启动图像数据,具体过程如下:
53.1.输入样本图像,基于训练好的聚类模型(例如deepcluster模型),提取相应的特征图;
54.2.对样本图像的特征图使用诸如umap/pca等降维方式进行降维;
55.3.使用kmeans/hdbsca等方法对降维后的特征图进行聚类,得到若干聚类簇;
56.4.根据业务需求选取相应的策略,从聚类簇中选取类中心附近的若干第一图像数据。对这些第一图像数据进行标注,即可得到样本标注图像。
57.从聚类簇中抽取第一图像数据的策略,可以自定义,尽可能地选取在类中心一定范围内的图像数据即可。
58.相对于直接使用原图作为聚类数据,通过聚类模型(例如deepcluster模型)对数据进行编码,提取出图像特征代替原始图片,再使用降维和聚类算法挑选数据,可以有效地
降低背景等因素的影响,避免因挑选出的训练数据分布与真实的分布有较大的差异而导致训练出的模型稳定性较差的问题。
59.其中,以deepcluster模型为例,聚类模型的训练过程,包括:
60.1.使用alexnet、vgg16等作为基础分类网络,使用imagenet等大型数据集对网络进行预训练;
61.2.通过deepcluster模型对输入图像进行处理,获得相应的特征图;
62.3.通过任一方法对获取的特征图进行聚类,并根据聚类结果生成相应的伪标签,使聚类得到的同类群具有同样的标签;
63.4.根据生成的伪标签作为输入图像的标签,输入至deepcluster模型,更新deepcluster模型的网络的参数,迭代训练直到deepcluster模型收敛。
64.为了方便,以上通过deepcluster模型对聚类模型的训练过程进行了说明,但本发明中的聚类模型不仅限于deepcluster模型。
65.小样本深度学习模型可以用少量标注数据训练出较高精度的模型,对数据进行标注。但小样本模型由于数据的局限性,对与尺度变化目标检测效果较差,而在真实的数据中,目标的尺度分布一般是连续的,因此本实施例中通过多尺度正样本细化分支来丰富目标尺度,增强模型对于新领域目标的特征提取能力。多尺度正样本细化分支为特征提取网络增强分支,与原模型的特征提取网络共享权值,通过生成目标的多尺度正样本构成输入图像金字塔,与主干网络同时对特征提取器进行更新,提升模型在不同尺度上的表现。
66.本实施例中,小样本深度学习模型的具体训练过程如下:
67.1、输入样本标注图像,从样本标注图像中剪裁出正样本目标,对剪裁的正样本目标进行多尺度缩放,生成多尺度图像金字塔,作为第一多尺度细化分支的输入。
68.2、参照图4,将原样本标注图像输入主干(也称为主分支)中,其相应的多尺度图像金字塔输入第一多尺度细化分支中,通过第二特征提取网络后获得相应的图像特征。其中,第二特征提取网络与第一特征提取网络的权值共享。
69.3、主分支中的原始图像特征为正常训练流程,将样本标注图像输入主干网络,通过第一特征提取网络后,得到roi后进入分类回归网络得到最终的预测结果;并计算出主干网络的背景分类损失,rpn边框回归损失、类别分类损失和roi边框回归损失,对主干网络进行迭代更新。本实施例中,第一特征提取网络可以是fpn网络也可以是其它网络。
70.4、由于第一多尺度细化分支的得到图像特征为正样本图像特征,因此,仅需计算该分支相应的类别分类损失和背景分类损失,并合并到主分支的损失中,对检测网络进行迭代更新。
71.参照图4,将第一多尺度细化分支的类别分类损失合并至主干的类别分类损失;将第一多尺度细化分支的背景分类损失合并至主干的背景类别分类损失。通过更新后的主干网络的背景分类损失和类别分类损失后,以及,主干网络的rpn边框回归损失和roi边框回归损失,对主干网络进行迭代更新。在迭代更新过程中,第一特征提取网络的权值通过权值共享同步给第二特征提取网络。
72.通过第一多尺度细化分支的强化作用,有效增强了模型对样本特征的识别能力,提升了模型的检测精度。该模型一般能以几十张数据量达到全部数据80%的检测精度。
73.当小样本学习模型的标注效果无法达到预设精度时,本实施例中还将开启半监督
循环训练,以进一步提升模型精度。参照图4中的第二多尺寸细化分支,半监督循环训练的具体流程为:
74.1、使用上一轮训练的检测网络模型对所有未标注的数据进行预测,选取出置信度在一定阈值以上的预测框作为该图像的标注,作为本轮训练输入的样本标注图像。
75.也就是说,本轮训练输入的样本标注图像,其标注的预测框仅包括置信度在一定阈值以上的预测框。
76.2.将多尺度图像金字塔分别进行第一数据处理和与第一数据处理不同的第二数据处理,得到相应的两份图像数据,作为一组输入样本,输入至第二多尺度细化分支,通过第三特征提取网络进行预测;其中,第三特征提取网络与第一特征提取网络和第二特征提取网络共享权值。
77.本实施例中,第一数据处理为数据强增强,第二数据处理为数据弱增强。在本发明的另一实施例中,第二数据处理为不对图像作任何处理,即直接输入多尺度图像金字塔。
78.其中,数据强增强为各种数据增强方式的结合,可以是同时包含改变和不改变图像数据结构、特性的方法的结合,也可以是仅包含改变图像数据结构、特性的各种方法的结合,即数据强增强为通过至少一种改变图像数据结构、特性的方法对输入图像进行处理,例如高斯模糊或增加噪点等。而数据弱增强为翻转平移等不改变图像数据结构、特性的数据增强方法。也就是说,强增强可以视为弱增强以及改变数据构、特性的方法或其结合。
79.3.对于一组输入样本,将弱增强后的图片的输出结果标签作为伪标签,即强增强后的图片的真实标签,计算出第二多尺度细化分支相应的类别分类损失和背景分类损失,然后这两个损失合并至主干网的损失中,对主干网络进行迭代更新,优化网络。
80.4、重复步骤1-3进行循环训练,直到模型满足精度要求或设定的最大循环次数。
81.通过这种训练方式,可削弱噪声标签对网络精度的影响,且通过不同的数据增强,网络学到了更多的目标模式,对复杂环境的鲁棒性更高,能更好的学习到目标的代表性特征,提升模型精度。
82.尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的例示性具体实施和架构的许多其它修改也处于本公开的范围内。
83.上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
84.因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
85.本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。
86.软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。
87.软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。
88.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献