CN113688851B - 数据标注方法和装置和精细粒度识别方法和装置 - Google Patents
数据标注方法和装置和精细粒度识别方法和装置 Download PDFInfo
- Publication number
- CN113688851B CN113688851B CN202010418518.2A CN202010418518A CN113688851B CN 113688851 B CN113688851 B CN 113688851B CN 202010418518 A CN202010418518 A CN 202010418518A CN 113688851 B CN113688851 B CN 113688851B
- Authority
- CN
- China
- Prior art keywords
- data
- labeling
- training
- classification model
- classification
- 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.)
- Active
Links
- 238000002372 labelling Methods 0.000 title claims abstract description 222
- 238000000034 method Methods 0.000 title claims abstract description 163
- 238000012549 training Methods 0.000 claims abstract description 245
- 238000013145 classification model Methods 0.000 claims abstract description 235
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 238000013527 convolutional neural network Methods 0.000 description 59
- 102100033620 Calponin-1 Human genes 0.000 description 33
- 101000945318 Homo sapiens Calponin-1 Proteins 0.000 description 33
- 238000001514 detection method Methods 0.000 description 22
- 238000011176 pooling Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 18
- 102100033591 Calponin-2 Human genes 0.000 description 16
- 101000945403 Homo sapiens Calponin-2 Proteins 0.000 description 16
- 230000000694 effects Effects 0.000 description 16
- 230000000750 progressive effect Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 241000282472 Canis lupus familiaris Species 0.000 description 7
- 238000000265 homogenisation Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012804 iterative process Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 235000015219 food category Nutrition 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 102100033592 Calponin-3 Human genes 0.000 description 2
- 101000945410 Homo sapiens Calponin-3 Proteins 0.000 description 2
- 206010039203 Road traffic accident Diseases 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种数据标注方法,采用至少两个结构不同的分类模型,预训练其中之一作为初始分类模型,且将待标注的源数据集的数据通过该预训练的分类模型标注标签作为初始数据;控制各所述分类模型执行一定次数的交替训练与数据标注,当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。还相应提供了数据标注装置、精细粒度识别模型训练方法和装置、精细粒度识别方法和装置,计算设备及介质,实现通过人工智能的方式自动标注数据,减少因数据标注困难、标注样本少带来的分类模型训练时的过拟合问题。
Description
技术领域
本申请涉及模式识别与图像处理技术领域,特别是指数据标注方法和装置、精细粒度识别模型的训练方法和装置、精细粒度识别方法和装置,计算设备及介质。
背景技术
细粒度图像识别任务广泛的存在于工业及日常生活中,例如自动驾驶的车辆识别,通过摄像头拍摄的图像识别出车辆的制造商、款式及生产年代等信息,以此辅助自动驾驶的决策;交通标志通常是有简单的线条来表示信息,同样也是一个细粒度分类任务,为自动驾驶汽车的行为提供准则;另外,在手机应用中也是非常广泛,比如花、鸟、狗、食物等万物识别。因此,解决细粒度图像识别是非常有必要的,无论对工业或生活中都具有重要意义。
精细粒度图像识别是对同一基础类别下的不同子类进行划分,比如车的款式、鸟的种类、狗的品种等,相对于通用图像任务的区别在于其图像所属类别更为精细,目前在工业界以及生活中有广泛应用场景。
目前,学术上对于细粒度分类任务识别的技术多种多样,包括基于细粒度特征学习的方法、基于视觉注意力机制的方法以及基于目标快检测的方法。以上方法促进了细粒度分类任务的发展,但是仍存在一些问题,例如存在数据标注困难、从而使得标注样本少带来的细粒度图像识别模型训练时过拟合而使得获得的模型识别的准确率欠佳的问题。
因此,在此背景下,如何能解决数据标注的问题,增加标注样本,以减少细粒度图像识别模型训练时过拟合的问题,提高识别准确率是有待解决的技术问题。
发明内容
有鉴于此,本申请的主要目的在于提供一种数据标注方法和装置、精细粒度识别模型的训练方法和装置、精细粒度识别方法和装置,计算设备及介质,以实现自动标注数据,并可以进一步将过程中的标注好的数据去训练相应的分类模型,有效地减小识别过程中的由于样本数据少导致的过拟合的产生,据此解决了因数据标注困难、标注样本少带来的分类模型训练时过拟合而使得获得的模型识别的准确率欠佳的问题,提高了识别准确率。
本申请提供的一种数据标注方法,包括:
采用至少两个结构不同的分类模型,以及
使用具有目标标注类型标签的目标数据集预训练其中之一分类模型,且将待标注的源数据集中的数据通过该预训练后的分类模型标注标签;
控制各所述分类模型执行一定次数的交替训练与数据标注,其中,所述预训练后的分类模型和通过该预训练后的分类模型标注标签的数据作为进行所述交替训练与数据标注中的初始分类模型和标注标签的初始数据;
所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
由上,本申请采用各个分类模型交替训练和交替标注,实现渐进式的标签的自动标注,以及同时对分类模型的交替训练。通过该渐进式的迭代协同训练机制,可以通过在迭代过程中将自动标注后的大量标注数据引入分类模型训练过程,有效减小训练过程中的由于样本数据少导致的过拟合的产生,提升了识别性能。并且,在迭代协同训练过程中各个分类模型所输入的训练数据是不同的,因此也有效的避免了各个分类模型被训练的“近似”,从而有效避免了标注数据标签的同质化。且本申请通过使用具有目标标注类型标签的目标数据集预训练分类模型,可以使得该预训练后模型性能更高,且在后续迭代训练时速度更快地为源数据标注目标类型标签。
可选的,所述选择是根据各数据的标注的稳定度进行所述选择。
由上,可以保留数据标注的稳定度高的标签对应的数据作为训练集,去训练分类模型,使得训练效果较佳。
可选的,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:
根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
由上,计算数据标注的稳定度的方式并不唯一,可以根据需要选择信息熵的方式来衡量该数据标注的稳定度。也可以是将数据进行聚类,将能表达数据所在类族的标签重要性的标签使其数据标注的稳定度相对较高
可选的,所述源数据和目标数据具有同一基础分类的标签;所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
由上,当预训练采用具有精细粒度分类标签标注数据作为训练集时,本申请可用于将大量的一般类别标签数据集生成精细粒度标签,并且结合上面的技术方案,即使具有精细粒度分类标签标注数据作为训练集不多,也能有效减少精细粒度识别的过拟合问题。
本申请还提供一种数据标注方法,包括:
采用至少两个结构不同的分类模型,以及
控制各所述分类模型执行一定次数的交替训练与数据标注,其中,进行所述交替训练与数据标注中,训练初始分类模型使用的数据中,部分数据具有目标标注类型标签;
其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
由上,本申请采用各个分类模型交替训练和交替标注,实现渐进式的标签的自动标注,以及同时对分类模型的交替训练。通过该渐进式的迭代协同训练机制,可以通过在迭代过程中将自动标注后的大量标注数据引入分类模型训练过程,有效减小训练过程中的由于样本数据少导致的过拟合的产生,提升了识别性能。并且,在迭代协同训练过程中各个分类模型所输入的训练数据是不同的,因此也有效的避免了各个分类模型被训练的“近似”,从而有效避免了标注数据标签的同质化。
可选的,进行所述交替训练与数据标注之前,还包括:通过具有目标标注类型标签标注数据的目标数据集预训练所述初始分类模型。
由上,通过对该分类模型的预训练,使其具有一定特性,通过使用具有目标标注类型标签的目标数据集预训练分类模型,可以使得该预训练后模型性能更高,且在后续迭代训练时速度更快地为源数据标注目标类型标签。
可选的,所述选择是根据各数据的标注的稳定度进行所述选择。
由上,可以保留数据标注的稳定度高的标签对应的数据作为训练集,去训练分类模型,使得训练效果较佳。
可选的,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
由上,计算数据标注的稳定度的方式并不唯一,可以根据需要选择信息熵的方式来衡量该数据标注的稳定度。
可选的,所述训练初始分类模型使用的数据具有同一基础分类的标签;所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
由上,当预训练采用具有精细粒度分类标签标注数据作为训练集时,本申请可用于将大量的一般类别标签数据集生成精细粒度标签,并且结合上面的技术方案,即使具有精细粒度分类标签标注数据作为训练集不多,也能有效减少精细粒度识别的过拟合问题。
本申请还提供了一种数据标注装置,包括:
调用模块,用于调用至少两个结构不同的分类模型;
第一预训练模块,用于使用具有目标标注类型标签的目标数据集预训练其中之一分类模型;
首次标注模块,用于将待标注的源数据集中的数据通过该预训练后的分类模型标注标签;
控制模块,用于控制各所述分类模型执行一定次数的交替训练与数据标注,其中,所述预训练后的分类模型和通过该预训练后的分类模型标注标签的数据作为进行所述交替训练与数据标注中的初始分类模型和标注标签的初始数据;其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
由上,本申请采用各个分类模型交替训练和交替标注,实现渐进式的标签的标注以及同时对分类模型的训练。通过该渐进式的迭代协同训练机制,可以通过在迭代过程中将自动标注后的大量标注数据引入分类模型训练过程,有效减小识别过程中的由于样本数据少导致的过拟合的产生,提升了识别性能。且本申请通过使用预训练模块将具有目标标注类型标签的目标数据集预训练分类模型,可以使得该预训练后模型性能更高,且在后续迭代训练时速度更快地为源数据标注目标类型标签。并且,在迭代协同训练过程中各个分类模型所输入的训练数据是不同的,因此也有效的避免了各个分类模型被训练的“近似”,从而有效避免了标注数据标签的同质化。
可选的,所述选择是根据各数据的标注的稳定度进行所述选择。
由上,可以保留数据标注的稳定度高的标签对应的数据作为训练集,去训练分类模型,使得训练效果较佳。
可选的,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:
根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
由上,计算数据标注的稳定度的方式并不唯一,可以根据需要选择信息熵的方式来衡量该数据标注的稳定度。
可选的,所述源数据和目标数据具有同一基础分类的标签;所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
由上,当预训练采用具有精细粒度分类标签标注数据作为训练集时,本申请可用于将大量的一般类别标签数据集生成精细粒度标签,并且结合上面的技术方案,即使具有精细粒度分类标签标注数据作为训练集不多,也能有效减少精细粒度识别的过拟合问题。
本申请还提供了另一种数据标注装置,包括:
调用模块,用于调用至少两个结构不同的分类模型;
控制模块,用于控制各所述分类模型执行一定次数的交替训练与数据标注,其中,进行所述交替训练与数据标注中,训练初始分类模型使用的数据中,部分数据具有目标标注类型标签;其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
由上,本申请采用各个分类模型交替训练和交替标注,实现渐进式的标签的自动标注,以及同时对分类模型的交替训练。通过该渐进式的迭代协同训练机制,可以通过在迭代过程中将自动标注后的大量标注数据引入分类模型训练过程,有效减小识别过程中的由于样本数据少导致的过拟合的产生,提升了识别性能。并且,在迭代协同训练过程中各个分类模型所输入的训练数据是不同的,因此也有效的避免了各个分类模型被训练的“近似”,从而有效避免了标注数据标签的同质化。
可选的,还包括:第二预训练模块,用于通过具有目标标注类型标签标注数据的目标数据集预训练所述初始分类模型。
由上,本申请通过使用具有目标标注类型标签的目标数据集预训练分类模型,可以使得该预训练后模型性能更高,且在后续迭代训练时速度更快地为源数据标注目标类型标签。
可选的,所述选择是根据各数据的标注的稳定度进行所述选择。
由上,可以保留数据标注的稳定度高的标签对应的数据作为训练集,去训练分类模型,使得训练效果较佳。
可选的,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
由上,计算数据标注的稳定度的方式并不唯一,可以根据需要选择信息熵的方式来衡量该数据标注的稳定度。
可选的,所述初始分类模型使用的数据具有同一基础分类的标签;所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
由上,当预训练采用具有精细粒度分类标签标注数据作为训练集时,本申请可用于将大量的一般类别标签数据集生成精细粒度标签,并且结合上面的技术方案,即使具有精细粒度分类标签标注数据作为训练集不多,也能有效减少精细粒度识别的过拟合问题。
本申请还提供了一种精细粒度识别模型的训练方法,包括:
获取根据上述技术方案任一方法进行标注的具有精细粒度分类标签的源数据集;
使用标注有精细粒度分类标签的源数据集训练一分类模型,以获取训练后的具有精细粒度识别的分类模型。
可选的,还包括:获取标注有精细粒度分类标签的目标数据集,并用其再次训练所述分类模型。
由上,通过使用标注有精细粒度分类标签的目标数据集再次训练所述分类模型,即对其进行微调,可以提供该分类模型的精度。
本申请还提供了一种精细粒度识别模型的训练装置,包括:
第一获取模块,用于获取根据上述技术方案任一方法进行标注的具有精细粒度分类标签的源数据集;
第一训练模块,用于使用标注有精细粒度分类标签的源数据集训练一分类模型,以获取训练后的具有精细粒度识别的分类模型。
可选的,还包括:
第二获取模块,用于获取标注有精细粒度分类标签的目标数据集;
第二训练模块,用于使用该目标数据集再次训练所述分类模型。
由上,通过使用标注有精细粒度分类标签的目标数据集再次训练所述分类模型,即对其进行微调,可以提供该分类模型的精度。
本申请还提供了一种精细粒度识别方法,包括:
获取待识别的目标图像;
将所述待识别的目标图像输入至使用上述技术方案任一所述方法训练的分类模型中,通过所述分类模型对所述目标图像进行精细粒度识别。
可选的,该方法应用于以下之一:车辆自动驾驶***中对所采集的图像的识别;移动终端对采集的图像的识别。
本申请还提供了一种精细粒度识别装置,包括:
图像获取模块,用于获取待识别的目标图像;
输入模块,用于将所述待识别的目标图像输入至使用上述技术方案任一所述方法训练的具有精细粒度识别的分类模型中,通过所述分类模型对所述目标图像进行精细粒度识别。
本申请还提供了一种计算设备,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行上述技术方案任一所述的方法。
本申请还提供了一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行上述技术方案任一所述的方法。
综上,除了上述所解决的技术问题外,本申请相对于具体实施方式中描述的现有技术来说,可以解决现有技术中的下述问题:
本申请相对于具体实施方式中描述的现有技术一,未采用双线性网络模型,因此可以实现低标注成本的自动标注数据。
本申请具体实施方式中描述的现有技术二,实现了通过较低的通过大量自动标注数据的引入,即迭代训练过程中所优选的标注标签对于的数据,有效减少因训练样本少导致的识别的过拟合的问题,提升了识别性能。尤其适用于对于精细粒度图像的识别过程的训练及其应用。
本申请具体实施方式中描述的现有技术三,未采用基于目标块检测方法进行自动识别的训练,不需要人对关键位置的标注,因此分类比较准确,且运算速度不受人的影响。
附图说明
图1为基于双线性卷积神经网络模型的示意图。
图2为基于注意力机制的神经网络模型的示意图。
图3为表示注意力机制定位关键区域的示意图。
图4为基于目标块检测方法的示意图。
图5A为数据标注方法的第一实施例的流程图。
图5B为数据标注方法的第二实施例的流程图。
图6为数据标注方法的具体实施方式的流程图。
图7为数据标注方法的流程图。
图8A为数据标注装置的第一实施例的示意图。
图8B为数据标注装置的第二实施例的示意图。
图9A为精细粒度识别模型的训练方法的流程图。
图9B为精细粒度分类标签标注以及利用标注后的数据训练获取精细粒度识别模型,并进一步地对训练后的模型进行微调的整体流程图。
图10为精细粒度识别模型的训练装置的示意图。
图11为精细粒度识别方法的流程图。
图12为精细粒度识别装置的示意图。
图13为计算设备的结构性示意性图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请具体实施方式进行进一步详细说明之前,对本申请实施例中涉及的名词和术语,以及其在本申请中相应的用途\作用\功能等进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
精细粒度图像识别(Fine Grained Visual Classification,FGVC),指对一基础类别进行更进一步的区分。目前方法主要有以下两类:(1)基于图像重要区域定位的方法:该方法集中探讨如何利用弱监督的信息自动找到图像中有判别力的区域,从而达到精细化分类的目的。(2)基于图像精细化特征表达的方法:该方法提出使用高维度的图像特征(如:bilinear vector)对图像信息进行高阶编码,以达到准确分类的目的。
卷积神经网络(Convolutional Neural Networks,CNN),是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学***移不变分类(shift-invariantclassification),因此也被称为“平移不变人工神经网络(Shift-Invariant ArtificialNeural Networks,SIANN)”。常用的卷积神经网络包括VGG、ResNet、Iception、EfficientNet等。
精细粒度识别:指对一基础类别进行更进一步的区分。
“一般类别标签”:指具有基础分类的标签;“精细粒度分类标签”是指在基础分类下的进一步精细粒度分类的标签(为了更方便描述该精细粒度分类的标签在本申请中也称之为软标签);其中,例如,一般类别标签是指“车”,“精细粒度分类标签”为进一步地对车的精细粒度分类,例如,“车的品牌”。
域迁移:指将一领域获得的信息作用到另一领域并产生增益。例如,本申请中将通过数据标注方法标注后的具有精细粒度识别的数据集作为训练集输入至分类模型中训练获取得到用于精细粒度识别的模型。
外积:矩阵乘法。
信息熵:信息熵是信息论中用于度量信息量的概念,一个***越是有序,不确定性越小,信息熵越低;反之,一个***越是混乱,不确定性越大,信息熵越高。具体地,在本申请中由于同一个数据可能会被标注多个不同的标签,因此通过计算对当前数据的数据标注的信息熵,以据此判断当前数据的数据标注的稳定度。信息熵的值大小代表了在当前该数据上的数据标注的稳定性程度,其值越小,代表标注不确定性程度低,在该数据的数据标注比较稳定,则可认为该数据标注的稳定度很高。相反,其值越大,表示当前数据的数据标注不确定性高,在该数据的标注比较混乱,则可认为该数据的数据标注的稳定度较低。
过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。出现这种现象的主要原因是训练数据中存在噪音或者训练数据太少。
下面将结合附图,对本申请中的技术方案进行描述。
现有技术一:如图1所示,为现有技术一的细粒度图像识别所应用的双线性卷积神经网络示意图。
该方法的基本思路是,将两个分类模型(例如VGG16卷积神经网络)输出的特征图进行外积来提取高阶特征,这种高阶特征被证明了对于细粒度图像的分类是关键的,在VGG16卷积神经网络的基础上对于数据集CUB-200-2011有将近10%的提升。
该基于双线性卷积神经网络进行细粒度图像识别的工作流程为:
第一步、输入图片:一般以摄像机拍摄的物体图像作为网络输入。
第二步、提取图像特征:具体地将图像分别输入到两个VGG16卷积神经网络中训练,通过堆积的卷积、池化等操作提取图像的多通道特征。将两个VGG16卷积神经网络提取的特征进行外积得到图像的高阶特征。
第三步、分类:具体地将模型得到的高阶图像特征通过全连接层降维,将softmax层的输出作为分类结果。
现有技术一存在的缺陷:双线性网络模型能够挖掘到图像信息的高阶特征,这些高阶特征能够对细粒度分类任务产生很大的增益。但是由于两个网络输出的特征图维度很高,大量增加了模型参数,计算外积会耗费非常大的计算资源,这也是双线性模型非常大的弊端之一。
现有技术二:如图2所示为现有技术二的细粒度图像识别所应用的具有注意力机制的分类模型的示意图。该现有技术二的方案是基于视觉注意力机制的方法,该方法是常用于细粒度分类任务的方法之一。一般来说,人类识别不同的物体都会首先观察物体间具有区分性的区域,以此来辨别不同的种类。视觉注意力机制由人类的视觉启发,将网络模型的注意力逐渐定位到具有关键区分性信息的区域,然后对其提取特征并用于分类,目前比较有代表性的模型如图2所示的分类模型的示意图。
现有技术二的算法与传统跟踪算法的明显区别在于增加了视觉注意力机制这一模块,首先模型经过卷积、池化提取图像的多通道信息,然后经过由全局平均池化、全连接层等构成的注意力机制模块来定位到图像的关键位置,如图3示出了表示注意力机制定位关键区域的示意图。然后将提取的多个关键区域的特征进行比较并分类,最后得到图像的具体类别。
现有技术二存在的缺陷:细粒度图像数据集因为标注困难导致训练样本较少,非常容易产生过拟合。在这种情况下视觉注意力机制可能不能够完全挖掘出具有关键信息的区域,反而定位到噪声部分,影响分类准确度。其次视觉注意力模块的设计参差不齐,同样存在增加模型复杂度的问题,在自动驾驶等对实时性要求较高的场景不适用。
现有技术三:现有技术三的技术方案采用了基于目标块检测的方法,该方法也是常用于细粒度分类任务的方法之一,此方法基于检测,首先检测出目标整体的位置,然后再检测关键性区域位置并提取信息用于分类,与视觉注意力机制不同的是需要关键区域的标注信息。该算法利用二维检测的方法准确的定位到目标体以及关键位置,如图4所示,二维框A是模型检测出鸟的位置,二维框B是检测出的背部以及头部,然后提取这些目标块的特征并作为分类层的输入得到最后的类别信息。
Part-based R-CNN就是利用以上思想对细粒度图像进行物体级别(例如鸟类)与其局部区域(头、身体等部位)的检测。该算法首先使用选择性搜索(Selective Search)在细粒度图像中产生目标或目标可能出现的候选框。然后使用类似R-CNN目标检测的流程,利用细粒度数据集中的目标(object)标注和部分(part)标注训练出三个检测模型。一个对应目标头部,一个对应目标背部,一个对应目标整体的检测。接下来将得到的目标块作为分类模型的输入,提取目标及部位的特征用于最后的分类。
现有技术三存在的缺陷:首先,基于目标块检测的方法属于检测方法,模型的训练需要二维框的标注信息。对于细粒度分类任务来说,普通人对关键位置的标注是比较困难的,没有专业背景的情况下很难确定哪些位置是具有区分性的。另外模型的检测准确度是非常重要的一个方面,利用自底向上的区域产生方法会产生大量的无关区域,这会在很大程度上影响算法的运行速度,如果检测不准定位到噪声或者背景区域对于最后的分类影响非常大,造成分类的不准确。
基于现有技术所存在的缺陷,例如,由于分类更加精细,非专家很难去辨别目标种类,数据标注困难,人工标注成本高,而使得数据标注样本过少,细粒度识别中因细粒度图像识别模型训练时由于数据标注样本少会造成训练后的模型在进行图像识别时过拟合,而使得识别的准确率欠佳的问题。因此,本申请提供了一种数据标注方法。具体地,本申请首次提出利用一般类别标签的领域迁移技术,使用低标注成本的一般类别标签增强精细粒度识别任务的性能,提出一种渐进式的迭代协同训练机制为大量的一般类别标签数据集生成精细粒度软标签,通过大量自动标注数据的引入有效减少精细粒度识别的过拟合的问题,提升了识别性能。下面对本申请进行介绍。
数据标注方法的第一实施例:
下面,参见图5A示出的流程图,对本申请的数据标注方法的第一实施例进行说明,包括以下步骤:
S510A,采用至少两个结构不同的分类模型,以及使用具有目标标注类型标签的目标数据集预训练其中之一分类模型,且将待标注的源数据集中的数据通过该预训练后的分类模型标注标签。该步骤可选的使用图6中的S610至S611所描述的方式来实现。其中,所述源数据和目标数据具有同一基础分类的标签;所述目标数据的目标标注类型标签为:在基础分类下的进一步精细粒度分类的标签。
其中,这里的分类模型可以采用多层神经网络(MLP)、循环神经网络(RNN)、卷积神经网络(CNN)等都可以用于进行数据的标签的标注(即分类)的模型,也可以采用决策树,集成树模型,贝叶斯分类器。其中,对于本申请所采用的各个分类模型,最好采用模型结构不同的分类模型,以避免自标注数据标签的同质化。例如一个采用RNN,一个采用CNN。又如都采用CNN,一个采用Efficient Net模型,另一个采用ResNet模型。又如,还可以通过使各自的卷积层和池化层交迭的次数不同,或者池化层的池化方式不同(如一个采用平均池化方式,一个采用最大值的池化方式)来实现模型的不同。
其中,所述使用具有目标标注类型标签的目标数据集训练其中之一分类模型,此处的目标标注类型标签可以是在基础分类下的进一步精细粒度分类的标签。其中具有精细粒度分类标签标注数据作为训练集,是为了实现精细粒度分类标签的标注。而通过对该分类模型的预训练,可以使得该预训练后模型性能更高,且在后续训练时速度更快。
S520A,控制各所述分类模型执行一定次数的交替训练与数据标注,其中,所述预训练后的分类模型和通过该预训练后的分类模型标注标签的数据作为进行所述交替训练与数据标注中的初始分类模型和标注标签的初始数据;
其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。该步骤可选的使用图6中的S612至S618所描述的方式来实现。
该步骤将在具体实施方式中再进一步说明。通过本步骤,来实现各个分类模型交替训练和交替标注,实现渐进式的标签的标注。当分类模型数量为两个时,则该两个分类模型上交替运行。当为两个以上时,可以有规律的交替运行实现本申请所述的交替训练和交替生成标签,例如依次且构成循环(如CNN1-CNN2-CNN3-CNN1),或者依次往返(CNN1-CNN2-CNN3-CNN2-CNN1),也可以无规律交替运行。通过该渐进式的迭代协同训练机制,可以通过在迭代过程中大量自动标注数据的引入,有效减小识别过程中的过拟合。尤其当用于为大量的一般类别标签数据集生成精细粒度软标签时,能有效减少精细粒度识别的过拟合,提升了识别性能。其中交替训练与数据标注的次数可以灵活设置,次数可以为经验值,使既不影响对当前分类模型的效果的训练,又不会导致迭代次数过多。
其中,所述选择是根据各数据的标注的稳定度进行所述选择。其中,稳定度可以以信息熵进行衡量,并根据该信息熵的熵值的大小选择一定数量的所述上次标注标签的数据;还可以进一步结合其他方式确定每个数据的数据标注的稳定度,例如将源数据集中的数据进行聚类,将能表达数据所在类族的标签重要性的标签使其数据标注的稳定度相对较高。
其中,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
其中,关于信息熵的计算公式为:
其中,x表示当前数据;xi表示当前数据的第i个标签;p(xi)表示当前数据x属于第i个标签的概率;n表示当前数据的标注的标签总数;H(x)表示当前数据的数据标注的不确定性程度。其值越小,代表当前数据的数据标注的稳定性程度越高。相反,其值越大,代表当前数据的数据标注的稳定性程度越低。
其中,根据信息熵值排序由小到大排序后,选择的数据的数量,可以一定值,如前100个,也可以为一比例值,如:源数据中数据的数量/N,其中,N根据经验设定,N的值≥(数据标注过程中所应用的不同结构的分类模型的数量+1)。例如,当数据标注过程中用到的不同结构的分类模型的数量为2时,N可以是3,或者是根据经验设定的大于3的值。
其中,还可以通过设定信息熵值的阈值进行数据的选择,例如选择低于某一设定阈值的数据及其对应被标注的标签。
该选择的数据的数量值是一个平衡之后的值,既不影响对当前分类模型的效果的训练,又不会导致迭代次数过多。
数据标注方法的第二实施例:
下面,参见图5B示出的流程图,对本申请的数据标注方法的第二实施例进行说明,包括以下步骤:
S520B,采用至少两个结构不同的分类模型,以及控制各所述分类模型执行一定次数的交替训练与数据标注,其中,进行所述交替训练与数据标注中,训练初始分类模型使用的数据(相当于实施例一中的源数据集),部分数据具有目标标注类型标签;所述初始分类模型使用的数据具有同一基础分类的标签;所述初始分类模型使用的数据中的部分数据还包括目标标注类型标签为:在基础分类下的进一步精细粒度分类的标签。
其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
其中,分类模型的说明如前一实施例所述,此处不再赘述。
由上,当如实施例一中的源数据集中具有部分目标标注类型标签的数据时,当通过上述方式交替训练时,该具有部分目标标注类型标签的数据会在首次或前几次交替训练时,被择优选择去训练对应的分类模型。此处的目标标注类型标签可以是在基础分类下的进一步精细粒度分类的标签。其中,所述使用具有目标标注类型标签的目标数据集训练其中之一分类模型其中具有精细粒度分类标签标注数据作为训练集,是为了实现精细粒度分类标签的标注。
当然也可以选择一些具有目标标注类型标签的目标数据集对分类模型进行预训练。而通过对该分类模型的预训练,可以使得该预训练后模型性能更高,且在后续训练时速度更快。
通过本步骤,来实现各个分类模型交替训练和交替标注,实现渐进式的标签的标注。当分类模型数量为两个时,则该两个分类模型上交替运行。当为两个以上时,可以有规律的交替运行实现本申请所述的交替训练和交替生成标签,例如依次且构成循环(如CNN1-CNN2-CNN3-CNN1),或者依次往返(CNN1-CNN2-CNN3-CNN2-CNN1),也可以无规律交替运行。通过该渐进式的迭代协同训练机制,可以通过在迭代过程中大量自动标注数据的引入,有效减小识别过程中的过拟合。尤其当用于为大量的一般类别标签数据集生成精细粒度软标签时,能有效减少精细粒度识别的过拟合,提升了识别性能。
其中,所述选择是根据各数据的标注的稳定度进行所述选择,具体可参见数据标注方法的第一实施例中的描述,不再赘述。
数据标注方法的第一具体实施方式:
下面参照图6所示的流程图,对本申请提供的一种数据标注方法的第一具体实施方式进行介绍,其包括以下步骤:
S610,首先选择一卷积神经网络(分类模型),为了描述方便将其称之为第一卷积神经网络(后述简称为CNN1),将目标数据集作为训练集输入至该CNN1上对该CNN1进行预训练。
具体地,所选择的卷积神经网络(CNN)包括有可用于提取特征的卷积层和池化层,还包括有用于训练分类的全连接层和分类器层。其中,卷积层和池化层可交迭连接,全连接层的输入端与池化层的输出端连接,全连接层的输出端与分类器层连接。在选择一CNN1后,还需构建用于预训练该CNN1的目标数据集,在本实施例中目标数据集为图像样本集。其中需要说明的是,考虑到CNN对识别任务的差异,构建的图像样本集应于其识别任务匹配。举例来说,当CNN1用于识别各车辆特征为车辆图片标注标签时,该图像样本集应包括有大量的不同的车的图像;当CNN1用于识别交通标志图像时,该图像样本集应包括有不同的交通标志图像;也就是说,当CNN1用于识别物品时,该图像样本集应包括有具备物品影像的图像。同时,这些图像的获取方式可采用多种形式,例如,通过数据库或者网络渠道直接获取标准标注的图像信息,也可采用拍摄终端或采集设备直接拍摄或采集获取;当然,在获得到这些图像信息之后,采用人工标注和智能标注的方式获取这些图像信息对应的分类标注,以便形成可用于对CNN1进行预训练的图像样本集。
其中,预训练的好处是预训练后模型性能更高,且在后续的训练过程中训练速度更快。其中,由于目标数据集包括的图片的类别越多,所预训练出的CNN1在后续识别待识别的图片时,所能够支持识别的图片的所包含的类别也越多,所以目标数据集为已经标注好的在一般分类的基础上还具有更精细的分类标注(为了更方便描述该更精细的分类标注在本申请中也称之为软标签)的数据集,通常来说目标数据集的数据量可使用的相对较少,例如本文在后述的实验数据及效果示出的测试数据中,目标数据集(即训练集)使用了不到一万张的图片样本。
S611,将源数据集输入至预训练后的CNN1中,为源数据集中的各个数据分别生成各自对应的各个软标签。
其中,本实施例中的源数据集使用了具有基础分类的一般类别标签的数据集,其不具有更精细的分类标注,该源数据集的数据量可使用的较多。
其中,源数据集的各数据可通过网络渠道直接获取图像信息,也可采用拍摄终端或采集设备直接拍摄或采集获取。
由于训练后的CNN1具备对源数据进行标注软标签的能力,因此源数据集的各数据输入至预训练后的CNN1中,CNN1会为源数据集的各个数据生成软标签。
另外,源数据的各数据也可以不具有一般类别标签,而经由CNN1为源数据集生成软标签时同时生成一般类别标签,但该源数据的各数据需要与目标数据集中的数据属于一个基础类别。
S612,根据上一步中的源数据集的各个数据的软标签的信息计算各数据的数据标注的信息熵,根据信息熵的熵值从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个软标签的数据。
其中,所述指定数量可以为:(源数据中数据的数量)/N,其中,N根据经验设定,N的值≥(数据标注过程中所应用的不同结构的卷积神经网络的数量+1)。
其中,关于信息熵的计算公式为:
/>
其中,x表示当前数据;xi表示当前数据的第i个标签;p(xi)表示当前数据x属于第i个标签的概率;n表示当前数据的标注的标签总数;H(x)表示当前数据的数据标注的不确定性程度。其值越小,代表当前数据的数据标注的稳定性程度越高。相反,其值越大,代表当前数据的数据标注的稳定性程度越低。
下面对数据x属于第i个标签的概率p(xi)的获得方式进一步说明如下,其中以步骤S611中的源数据集中的一个数据为例进行说明:在步骤S611中,当该数据输入预训练后的CNN1,CNN1会在其输出层(如图1示出的softmax层)生成对应各个软标签的概率,即上述p(xi)。
另外,还可以结合其他方式,例如将源数据集中的数据进行聚类,将能表达数据所在类族的标签重要性的标签使其数据标注的稳定度相对较高。
S613,选择第二卷积神经网络(分类模型,后述简称为CNN2),将上一步选择的标注有各个软标签的数据作为训练集输入至CNN2中训练所述CNN2。
其中,可选的,CNN2与CNN1使用不同模型的CNN,以避免自标注数据标签的同质化。例如,CNN1采用Efficient Net时,CNN2可以采用ResNet或其他模型。又如,当CNN2与CNN1都采用Efficient Net时,则可以通过使各自的卷积层和池化层交迭的次数不同,或者池化层的池化方式不同(如一个采用平均池化方式,一个采用最大值的池化方式)来实现模型的不同。
S614,将当前余下未被选择的数据输入至经上一步训练后的CNN2中,由CNN2为当前余下未选择的各个数据分别更新软标签。
其中,这里的更新软标签即为各个数据更新替换为最新的分类标注。其中,更新后的软标签也同样包括各个软标签所对应的概率。
S615,计算上一步中余下未被选择的数据更新的软标签的信息熵,从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个软标签的数据。
该步骤具体可参见S612,不再赘述。
S616,将上一步中选择的标注有各个软标签的数据作为训练集输入至CNN1上训练,以对CNN1再次训练。
S617,将当前余下未被选择的数据输入至经上一步再次训练后的CNN1中,以为当前余下未被选择的各个数据分别更新软标签。
该步骤可参见S614,不再赘述。
S618,计算当前余下未被选择的数据更新的软标签的信息熵,从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个软标签的数据,并返回执行S613。
需要说明的是,在上述步骤执行过程中,例如在S615、S618排序并选择指定数量的标注有各个软标签的数据的过程中,当无指定数量可选时,即表示对源数据集中的各个数据均已经完成软标签的标注,不再存在未有软标签的数据,则可以结束本次流程。
数据标注方法的第二具体实施方式:
上述第一具体实施方式以两个CNN为例对本申请方法进行说明。还可以设置多个不同的CNN来实现本申请,下面以三个CNN为例进行说明,简化起见,主要描述不同之处,且下述各个步骤中的详细步骤可参见数据标注方法第一具体实施方式。参见图7示出的流程图,采用三个CNN时,数据标注方法包括以下步骤:
S710-S715,与S610-S615对应步骤相同。
S716,将上一步中选择的标注有各个软标签的数据作为训练集输入至第三卷积神经网络(后述简称为CNN3)上对CNN3进行训练。
S717,将当前余下未被选择的数据输入至经上一步训练后的CNN3中,以为当前余下未被选择的各个数据分别更新软标签。
S718,计算当前余下未被选择的数据更新的软标签的信息熵,从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个软标签的数据,并执行下一步。
S719-S721,与S616-S618对应步骤相同。
需要说明的是,在上述步骤执行过程中,例如在S715、S718、S721排序并选择指定数量的标注有各个软标签的数据的过程中,当无指定数量可选时,即表示对源数据集中的各个数据均已经完成软标签的标注,则可以结束本次流程。
由上,当将S713-S715作为CNN2的一组处理,将S716-S718作为CNN3的一组处理,将S719-S721作为CNN1的一组处理,可以看出,该数据标注方法第二具体实施方式中,三个CNN依次交替并构成循环的方式实现所述数据标注的处理,即CNN2-CNN3-CNN1-CNN2的顺序。而实际上,执行顺序并没有特定要求,例如从CNN1执行后也可以经逆次序交替,如CNN2-CNN3-CNN1-CNN3-CNN2的顺序。
对应本申请的数据标注方法,本申请还相应的提供了数据标注装置,该装置所包含的各个模块的功能或用途的实现方式,以及有益效果,可参见数据标注方法的各个实施例,故在介绍该装置时不再赘述。
数据标注装置的第一实施例:
参见如图8A示出的装置的示意图,第一实施例中本申请的数据标注装置包括:
调用模块840A,用于调用至少两个结构不同的分类模型;
第一预训练模块810A,用于使用具有目标标注类型标签的目标数据集预训练其中之一分类模型;其中,所述目标标注类型标签包括:在基础分类下的具有精细粒度分类的标签。
首次标注模块820A,用于将待标注的源数据集中的数据通过该预训练后的分类模型标注标签;
控制模块830A,用于控制各所述分类模型执行一定次数的交替训练与数据标注,其中,所述预训练后的分类模型和通过该预训练后的分类模型标注标签的数据作为进行所述交替训练与数据标注中的初始分类模型和标注标签的初始数据;其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
其中,所述选择是根据各数据的标注的稳定度进行所述选择。
其中,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
其中,所述源数据和目标数据具有同一基础分类的标签;所述目标数据还包括目标标注类型标签,所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
数据标注装置的第二实施例
参见如图8B示出的装置的示意图,第二实施例中本申请的数据标注装置包括:
调用模块840B,用于调用至少两个结构不同的分类模型;
控制模块830B,用于控制各所述分类模型执行一定次数的交替训练与数据标注,其中,进行所述交替训练与数据标注中,训练初始分类模型使用的数据中,部分数据具有目标标注类型标签;
其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
其中,所述装置还包括:第二预训练模块810B,用于通过具有目标标注类型标签标注数据的目标数据集预训练所述初始分类模型。
其中,所述选择是根据各数据的标注的稳定度进行所述选择。
其中,所述根据标签计算获得的各数据的标注的稳定度进行所述选择包括:根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵的熵值的排序选择一部分的前一训练的分类模型所重新标注标签的数据;其中,所述信息熵的值的大小与数据标注的稳定度的高低成类反比关系。
其中,所述初始分类模型使用的数据具有同一基础分类的标签;所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
精细粒度识别模型的训练方法的实施例:
参见如图9A示出的流程图,本申请的精细粒度识别模型的训练方法,包括:
S910,获取根据前述的数据标注方法进行标注的具有精细粒度分类标签的源数据集。
S920,使用标注有精细粒度分类标签的源数据集训练一分类模型,以获取训练后的具有精细粒度识别的分类模型。
S930,为了提高模型的精度,还增设本步骤,包括:获取标注有精细粒度分类标签的目标数据集,并用其再次训练所述分类模型。以对所述分类模型进行微调。
如图9B所示,包含了对源数据的软标签(精细粒度分类标签)的标注过程,以及利用标注好的数据进行精细粒度识别模型的训练,以及进一步地通过目标数据集继续微调的整体的流程。具体地,如图9B中的使用至少两个结构不同的分类模型卷积神经网路Efficient Net B5和卷积神经网路Efficient Net B7,使用具有目标标注类型标签的目标数据集预训练其中之一分类模型,且将待标注的源数据集中的数据通过该预训练后的分类模型标注标签;并通过交替训练获取标注有软标签的源数据集。以及进一步的对应S920使用标注有软标签的源数据集训练一分类模型(如图9B中Resnet101),以获取训练后的具有精细粒度识别的分类模型。以及进一步的对应S930使用对目标数据集微调训练后的具有精细粒度识别的分类模型。
精细粒度识别模型的训练装置的实施例:
参见如图10示出的装置示意图,本申请精细粒度识别模型的训练装置,包括:
第一获取模块1010,用于获取根据前述数据标注方法进行标注的具有精细粒度分类标签的源数据集。
第一训练模块1020,用于使用标注有精细粒度分类标签的源数据集训练一分类模型,以获取训练后的具有精细粒度识别的分类模型。
进一步地,为了提高模型的精度,还包括:
第二获取模块1030,用于获取标注有精细粒度分类标签的目标数据集;
第二训练模块1040,用于使用该目标数据集再次训练所述分类模型。
精细粒度识别方法的实施例:
参见如图11示出的精细粒度识别方法的流程图,本申请精细粒度识别方法包括:
S1110、获取待识别的目标图像。
S1120、将所述待识别的目标图像输入至前述训练的分类模型中,通过所述分类模型对所述目标图像进行精细粒度识别。
精细粒度识别装置的实施例:
参见如图12示出的示意图,本申请的精细粒度识别装置包括:
图像获取模块1210,用于获取待识别的目标图像;
输入模块1220,用于将所述待识别的目标图像输入前述训练的分类模型中,通过所述分类模型对所述目标图像进行精细粒度识别。
下面结合具体地应用场景说明本申请的数据标注方法及装置;精细粒度识别模型的训练方法及装置;精细粒度识别方法的应用,例如:
应用场景1:车辆识别
车辆自动驾驶***的目标识别,自动驾驶是当前非常热门的研究方向。随着经济的发展,全球汽车数量不断增加,交通拥堵、车位难寻、打车困难、事故多发的现象越来越多。因此,为了解决以上问题,自动驾驶应运而生。
自动驾驶***主要包括视频读取、目标检测、目标跟踪、视觉测距、多传感器融合以及规控六个部分。本申请主要作用于目标检测阶段,通过对目标检测模型检测出的目标进行细粒度识别。在自动驾驶行为中通常存在对于车辆的检测,包括2D以及3D检测,对于车辆的精细粒度识别有助于2D框或者3D框的回归,提高车辆检测的准确度。但是现有的精细粒度识别的模型由于在模型训练时,训练集缺少精细粒度标注的样本,从而导致训练后的精细粒度识别的模型在进行识别时出现过拟合,从而影响识别的精确度。并且,当收集训练用的数据后,也需要进行大量的数据标注,如果全部都由人工标注的话成本会很高,对于3D标注来说非常困难。本申请提出的数据标注方法及装置技术能够为数据生成标注信息,从而减少人工标注成本,减少标注的错误率。且标注后的具有精细粒度标注的样本作为训练集用于训练一分类模型,从而获取得到具有更优的分类效果的精细粒度识别的模型。进一步地将待识别的图像输入至该模型中,则可以获取该图像的精细粒度的识别。
具体地,例如,当需要对车辆进行精细粒度的识别时,精细粒度的识别例如车标识别、车辆的制造商、款式及生产年代等信息的识别,上述的精细粒度的识别可以是同时识别,为了方便说明,本实施例仅以车标识别为例,当需要对车辆进行车标识别时,需要使用具有车标识别的精细粒度识别的模型,该模型需要通过大量的标注有车标的数据的作为训练集训练一分类模型(其中该分类模型可以是现有的但是识别效果不佳的一车标识别模型),其中,前述的大量的标注有车标的数据的获取可以通过本申请的数据标注的方法获取,具体地,例如:
S1,首先选择一卷积神经网络CNN1,以及选择一由标注有车标的数据组成的目标数据集(目标数据集的数据量可使用的相对较少),将该目标数据集作为训练集输入至该CNN1上对该CNN1进行预训练。
S2,选择待标注的源数据集,该源数据集中的数据具有同一基础分类标签-车-标签标注(源数据集的数据量可使用的较多),将该源数据集输入至预训练后的CNN1中,为源数据集中的各个数据分别生成各自对应的各个车标标签。由于训练后的CNN1具备对源数据进行标注车标标签的能力,因此源数据集的各数据输入至预训练后的CNN1中,CNN1会为源数据集的各个数据生成各个车标标签。
S3,根据S2中的源数据集的各个数据的各个车标标签的信息,计算各数据的数据标注的信息熵,根据信息熵的熵值从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个车标标签的数据。
其中,所述指定数量可以为:源数据中的数据的数量/N,其中,N根据经验设定,N的值≥(数据标注过程中所应用的不同结构的卷积神经网络的数量+1)。例如,本实施例中在进行数据标注的过程中要用到2个不同的卷积神经网络。所述N的值可以是3,或者根据经验值进行设定的大于3的值。
其中,关于S3中信息熵的计算公式为:
其中,x表示当前数据;xi表示当前数据的第i个标签;p(xi)表示当前数据x属于第i个标签的概率;n表示当前数据的标注的标签总数;H(x)表示当前数据的数据标注的不确定性程度。其值越小,代表当前数据的数据标注的稳定性程度越高。相反,其值越大,代表当前数据的数据标注的稳定性程度越低。
另外,还可以结合其他方式,例如将源数据集中的数据进行聚类,将能表达数据所在类族的标签重要性的标签使其数据标注的稳定度相对较高。
S4,选择第二卷积神经网络CNN2,将S3选择的标注有各个车标标签的数据作为训练集输入至CNN2中训练所述CNN2。
其中,可选的,CNN2与CNN1使用不同模型的CNN,以避免自标注数据标签的同质化。例如,CNN1采用Efficient Net时,CNN2可以采用ResNet或其他模型。又如,当CNN2与CNN1都采用Efficient Net时,则可以通过使各自的卷积层和池化层交迭的次数不同,或者池化层的池化方式不同(如一个采用平均池化方式,一个采用最大值的池化方式)来实现模型的不同。
S5,将当前余下未被选择的数据输入至经S4训练后的CNN2中,由CNN2为当前余下未选择的各个数据分别更新车标标签。
其中,这里的更新车标标签即为各个数据更新替换为最新的分类标注。其中,更新后的车标标签也同样包括各个车标标签所对应的概率。
S6,计算S5中余下未被选择的数据的更新的车标标签的信息熵,从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个车标标签的数据(此处以及之后每次选择的指定数量都与S3中的数量相同)。
S7,将S6中选择的标注有各个车标标签的数据作为训练集输入至CNN1上训练,以对CNN1再次训练。
S8,将S6余下未被选择的数据输入至经S7再次训练后的CNN1中,以为S6余下未被选择的各个数据分别更新车标标签。当N值设定为3时,则结束车标标签标注流程。当N值设定为其他大于3的值时,则执行S9。
S9,计算S8余下未被选择的数据的更新的车标标签的信息熵,从小到大排序并根据排序的顺序从前往后选择指定数量的标注有各个车标标签的数据,并返回执行S8。
需要说明的是,在上述步骤执行过程中,排序并选择指定数量的标注有各个车标标签的数据的过程中,当无指定数量可选时,即表示对源数据集中的各个数据均已经完成车标标签的标注,则可以结束车标标签标注流程。
在获取得到上述的标注有车标标注的数据后,利用该数据作为训练集训练一分类模型(其中该分类模型可以是现有的但是识别效果不佳的一车标识别模型)以获取具有车标识别的精细粒度识别的模型,进一步地,为了提高模型的精度,还可以增设本步骤,包括:将标注有车标标注分类标签的目标数据集,再次训练所述分类模型,以对所述分类模型进行微调。再将待识别的车辆的图片输入至该具有车标识别的精细粒度识别的模型中进行车标识别。
本申请可以获取大量的车标标注数据用于训练获取具有车标识别的精细粒度识别的模型,从而避免了现有的精细粒度识别的模型由于在模型训练时,训练集缺少精细粒度标注的样本,从而导致训练后的精细粒度识别的模型在进行识别时出现过拟合,从而影响识别的精确度的问题。
应用场景2:手机终端
随着国民经济的快速增长、社会的迅速进步和国力的不断增强,人们对于日常生活娱乐有了更多的要求,手机摄像功能日益增多。本申请能够显著提升手机终端摄像识别物体的准确率,比如摄像头下的食物、花、鸟、狗等基础类别下,再进一步地进行食物类别,花的类别、鸟的类别、狗的类别等细粒度识别,可以解决因为外观、颜色等特征相似导致物体识别困难的问题。
现有的精细粒度识别的模型(食物类别,花的类别、鸟的类别、狗的类别等细粒度识别模型)由于在模型训练时,训练集缺少精细粒度标注的样本,从而导致训练后的精细粒度识别的模型在进行识别时出现过拟合,从而影响识别的精确度。
因此,可以通过本申请的数据标注,扩充训练样本,例如对应分别扩充食物类别,花的类别、鸟的类别、狗的类别的数据标注样本,然后将大量的标注后的数据用于分别训练精细粒度识别的模型,并将分别训练获取的精细粒度识别的模型分别用于食物类别,花的类别、鸟的类别、狗的类别的识别。从而避免了现有的精细粒度识别的模型由于在模型训练时,训练集缺少精细粒度标注的样本,从而导致训练后的精细粒度识别的模型在进行识别时出现过拟合,从而影响识别的精确度的问题。
应用场景3:交通标志识别
交通标识包含丰富的道路交通信息,为驾驶员提供警示、指示等辅助信息,对减轻驾驶员的驾驶压力、降低道路的交通压力、减少交通事故的发生率起着重要的辅助作用。如果完全依靠驾驶员注意和发现交通标识并做出正确的反应,难免会增加驾驶员的负担,加速疲劳,严重地可能导致交通事故。交通标志作为道路行驶车辆行为准则的指引,包含限速、直行、转弯等信息。交通标识识别主要是通过安装在车辆上的摄像机采集道路上的交通标识信息,传送到图像处理模块进行标识检测和识别,并根据识别结果做出不同的应对措施。交通标识识别可以及时地向驾驶员传递重要的交通信息(例如限速、禁止超车等),并指导驾驶员做出合理的反应,从而减轻了驾驶压力,缓解城市交通压力,有利于道路交通安全。因此,精确高效且实时的交通标识识别是未来驾驶的趋势所在。
在交通标志的识别中基础类别是指交通标志,精细粒度是指识别限速、直行、转弯等标识信息,现有的交通标志的精细粒度识别的模型由于在模型训练时,训练集缺少精细粒度标注的样本,从而导致训练后的精细粒度识别的模型在进行识别时出现过拟合,从而影响识别的精确度。
因此,可以通过本申请的数据标注,扩充训练样本,例如交通标志中的限速、直行、转弯等标识信息数据标注样本,然后将大量的标注后的数据用于训练精细粒度识别的模型,并将训练获取的精细粒度识别的模型用于交通标志的精细粒度的识别。从而避免了现有的精细粒度识别的模型由于在模型训练时,训练集缺少精细粒度标注的样本,从而导致训练后的精细粒度识别的模型在进行识别时出现过拟合,从而影响识别的精确度的问题。
本申请的实验数据及效果
为了公平比较各种细粒度识别算法的优劣,本申请在公测数据集CUB-200-2011、Stanford Cars进行训练及测试。CUB-200-2011是鸟类数据集,共200个种类,11788张图片,其中5994张图片作为训练集,5794张图片作为测试集,其中鸟为基础分类,鸟的种类为精细粒度分类。Stanford Cars是车辆数据集,共196类,16185张图片,其中8144张图片作为训练集,8041张图片作为测试集,其中车为基础分类,车的种类为精细粒度分类。
本申请提出的方法在以上两个公测数据集进行实验,结果如表1所示,目前已经达到另个数据集的领先水平,在没有增加人工标注成本以及模型复杂度的情况下,通过加入自标注数据的训练已经达到甚至超过了使用人工标注训练的性能。(注:下表1中,*表示使用额外数据及标注信息)
表1
图13是本申请实施例提供的一种计算设备5000的结构性示意性图。该计算设备5000包括:处理器5010、存储器5020、通信接口5030、总线5040。
应理解,该图所示的计算设备5000中的通信接口5030可以用于与其他设备之间进行通信。
其中,该处理器5010可以与存储器5020连接。该存储器5020可以用于存储该程序代码和数据。因此,该存储器5020可以是处理器5010内部的存储单元,也可以是与处理器5010独立的外部存储单元,还可以是包括处理器5010内部的存储单元和与处理器5010独立的外部存储单元的部件。
可选的,计算设备5000还可以包括总线5040。其中,存储器5020、通信接口5030可以通过总线5040与处理器5010连接。总线5040可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线5040可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器5010可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器5010采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器5020可以包括只读存储器和随机存取存储器,并向处理器5010提供指令和数据。处理器5010的一部分还可以包括非易失性随机存取存储器。例如,处理器5010还可以存储设备类型的信息。
在计算设备5000运行时,所述处理器5010执行所述存储器5020中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备5000可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备5000中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。
Claims (25)
1. 一种图像数据标注方法,其特征在于,包括:
采用至少两个结构不同的分类模型,以及
使用具有目标标注类型标签的目标图像数据集预训练其中之一分类模型,且将待标注的源图像数据集中的数据通过该预训练后的分类模型标注标签;
控制各所述分类模型执行一定次数的交替训练与数据标注,其中,所述预训练后的分类模型和通过该预训练后的分类模型标注标签的数据作为进行所述交替训练与数据标注中的初始分类模型和标注标签的初始数据;
所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
2.根据权利要求1所述的方法,其特征在于,所述选择是根据各数据的标注的稳定度进行所述选择。
3.根据权利要求2所述的方法,其特征在于,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:
根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行数据的选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
4.根据权利要求1所述的方法,其特征在于,所述源图像数据和目标图像数据具有同一基础分类的标签;
所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
5. 一种图像数据标注方法,其特征在于,包括:
采用至少两个结构不同的分类模型,以及
在控制各所述分类模型执行一定次数的交替训练与数据标注之前,基于具有目标标注类型标签标注数据的目标图像数据集进行预训练,得到初始分类模型;
控制各所述分类模型执行一定次数的交替训练与数据标注,其中,在进行所述交替训练与数据标注中,训练所述初始分类模型选择的数据中,部分数据为所述具有目标标注类型标签标注数据; 其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
6.根据权利要求5所述的方法,其特征在于,所述选择是根据各数据的标注的稳定度进行所述选择。
7.根据权利要求6所述的方法,其特征在于,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:
根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
8.根据权利要求5所述的方法,其特征在于,所述训练初始分类模型使用的数据具有同一基础分类的标签;
所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
9.一种图像数据标注装置,其特征在于,包括:
调用模块,用于调用至少两个结构不同的分类模型;
第一预训练模块,用于使用具有目标标注类型标签的目标图像数据集预训练其中之一分类模型;
首次标注模块,用于将待标注的源图像数据集中的数据通过该预训练后的分类模型标注标签;
控制模块,用于控制各所述分类模型执行一定次数的交替训练与数据标注,其中,所述预训练后的分类模型和通过该预训练后的分类模型标注标签的数据作为进行所述交替训练与数据标注中的初始分类模型和标注标签的初始数据;其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
10.根据权利要求9所述的装置,其特征在于,所述选择是根据各数据的标注的稳定度进行所述选择。
11.根据权利要求10所述的装置,其特征在于,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:
根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行数据的选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
12.根据权利要求9所述的装置,其特征在于,所述源图像数据和目标图像数据具有同一基础分类的标签;
所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
13.一种图像数据标注装置,其特征在于,包括:
调用模块,用于调用至少两个结构不同的分类模型;
第二预训练模块,在交替训练与数据标注之前,基于具有目标标注类型标签标注数据的目标图像数据集进行预训练,得到初始分类模型;
控制模块,用于控制各所述分类模型执行一定次数的交替训练与数据标注,其中,在进行所述交替训练与数据标注中,训练所述初始分类模型使用的数据中,部分数据为所述具有目标标注类型标签标注数据;其中,所述交替训练与数据标注过程中,当前所训练的分类模型所进行的当前训练与当前数据标注的步骤包括:获取前一训练的分类模型所重新标注标签的数据,并从中选择一部分数据训练当前分类模型,通过经训练后的当前分类模型对未被选择的另一部分数据重新标注标签。
14.根据权利要求13所述的装置,其特征在于,所述选择是根据各数据的标注的稳定度进行所述选择。
15.根据权利要求14所述的装置,其特征在于,所述稳定度以信息熵进行衡量时,所述选择一部分数据包括:
根据每个数据上标注的各个标签计算每个数据的数据标注的信息熵,并根据该信息熵值的排序进行选择;其中,所述信息熵值的大小与数据标注的稳定度的高低成类反比关系。
16.根据权利要求13所述的装置,其特征在于,所述初始分类模型使用的数据具有同一基础分类的标签;
所述目标标注类型标签是在基础分类下的进一步精细粒度分类的标签。
17.一种精细粒度识别模型的训练方法,其特征在于,包括:
获取根据权利要求1至8任一所述的方法进行标注的具有精细粒度分类标签的源图像数据集;
使用该源图像数据集作为训练集训练一分类模型,以获取训练后的具有精细粒度识别的分类模型。
18.根据权利要求17所述的训练方法,其特征在于,还包括:
获取标注有精细粒度分类标签的目标图像数据集,并用其再次训练所述分类模型。
19.一种精细粒度识别模型的训练装置,其特征在于,包括:
第一获取模块,用于获取根据权利要求1至8任一所述的方法进行标注的具有精细粒度分类标签的源图像数据集;
第一训练模块,用于使用标注有精细粒度分类标签的源图像数据集训练一分类模型,以获取训练后的具有精细粒度识别的分类模型。
20.根据权利要求19所述的训练装置,其特征在于,还包括:
第二获取模块,用于获取标注有精细粒度分类标签的目标图像数据集;
第二训练模块,用于使用该目标图像数据集再次训练所述分类模型。
21.一种精细粒度识别方法,其特征在于,包括:
获取待识别的目标图像;
将所述待识别的目标图像根据权利要求17或18所述的方法训练的具有精细粒度识别的分类模型对所述目标图像进行精细粒度识别。
22.根据权利要求21所述的方法,其特征在于,该方法应用于以下之一:
车辆自动驾驶***中对所采集的图像的识别;
移动终端对采集的图像的识别。
23.一种精细粒度识别装置,其特征在于,包括:
图像获取模块,用于获取待识别的目标图像;
输入模块,用于将所述待识别的目标图像根据权利要权利要求17或18所述的方法训练的具有精细粒度识别的分类模型对所述目标图像进行精细粒度识别。
24.一种计算设备,其特征在于,包括:
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至8、17至18任一所述的方法。
25. 一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至8、 17至18任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418518.2A CN113688851B (zh) | 2020-05-18 | 2020-05-18 | 数据标注方法和装置和精细粒度识别方法和装置 |
EP21807634.7A EP4145345A4 (en) | 2020-05-18 | 2021-04-20 | DATA ANNOUNCEMENT METHOD AND APPARATUS, AND FINE GRANULARITY IDENTIFICATION METHOD AND APPARATUS |
PCT/CN2021/088405 WO2021233041A1 (zh) | 2020-05-18 | 2021-04-20 | 数据标注方法和装置、精细粒度识别方法和装置 |
US17/989,068 US20230087292A1 (en) | 2020-05-18 | 2022-11-17 | Data annotation method and apparatus, and fine-grained recognition method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010418518.2A CN113688851B (zh) | 2020-05-18 | 2020-05-18 | 数据标注方法和装置和精细粒度识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688851A CN113688851A (zh) | 2021-11-23 |
CN113688851B true CN113688851B (zh) | 2023-09-15 |
Family
ID=78575425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010418518.2A Active CN113688851B (zh) | 2020-05-18 | 2020-05-18 | 数据标注方法和装置和精细粒度识别方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230087292A1 (zh) |
EP (1) | EP4145345A4 (zh) |
CN (1) | CN113688851B (zh) |
WO (1) | WO2021233041A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6800453B1 (ja) * | 2020-05-07 | 2020-12-16 | 株式会社 情報システムエンジニアリング | 情報処理装置及び情報処理方法 |
JP2022131497A (ja) * | 2021-02-26 | 2022-09-07 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法およびプログラム |
CN113886606B (zh) * | 2021-12-08 | 2022-12-13 | 北京海致星图科技有限公司 | 一种基于知识图谱的数据标注方法、装置、介质及设备 |
CN114332452B (zh) * | 2021-12-13 | 2023-05-02 | 南京行者易智能交通科技有限公司 | 一种针对目标检测或目标分割的图像标注结果的自动检测方法 |
CN116678885B (zh) * | 2023-08-03 | 2023-12-19 | 福建南方路面机械股份有限公司 | 基于深度学习的水洗粗骨料含泥检测控制方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898087A (zh) * | 2018-06-22 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 人脸关键点定位模型的训练方法、装置、设备及存储介质 |
CN109902716A (zh) * | 2019-01-22 | 2019-06-18 | 厦门美图之家科技有限公司 | 一种对齐分类模型的训练方法和图像分类方法 |
CN110059734A (zh) * | 2019-04-02 | 2019-07-26 | 唯思科技(北京)有限公司 | 一种目标识别分类模型的训练方法、物体识别方法、装置、机器人和介质 |
CN110188767A (zh) * | 2019-05-08 | 2019-08-30 | 浙江大学 | 基于深度神经网络的角膜病图像序列化特征提取与分类方法及装置 |
CN110599445A (zh) * | 2019-07-24 | 2019-12-20 | 安徽南瑞继远电网技术有限公司 | 一种电网螺母和销的目标鲁棒检测与缺陷识别方法及装置 |
CN111079602A (zh) * | 2019-12-06 | 2020-04-28 | 长沙千视通智能科技有限公司 | 基于多尺度区域特征约束的车辆细粒度识别方法及装置 |
CN111126459A (zh) * | 2019-12-06 | 2020-05-08 | 深圳久凌软件技术有限公司 | 一种车辆细粒度识别的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451602A (zh) * | 2017-07-06 | 2017-12-08 | 浙江工业大学 | 一种基于深度学习的果蔬检测方法 |
KR102329590B1 (ko) * | 2018-03-19 | 2021-11-19 | 에스알아이 인터내셔널 | 딥 신경망들의 동적 적응 |
CN110490884B (zh) * | 2019-08-23 | 2023-04-28 | 北京工业大学 | 一种基于对抗的轻量级网络语义分割方法 |
-
2020
- 2020-05-18 CN CN202010418518.2A patent/CN113688851B/zh active Active
-
2021
- 2021-04-20 WO PCT/CN2021/088405 patent/WO2021233041A1/zh unknown
- 2021-04-20 EP EP21807634.7A patent/EP4145345A4/en active Pending
-
2022
- 2022-11-17 US US17/989,068 patent/US20230087292A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898087A (zh) * | 2018-06-22 | 2018-11-27 | 腾讯科技(深圳)有限公司 | 人脸关键点定位模型的训练方法、装置、设备及存储介质 |
CN109902716A (zh) * | 2019-01-22 | 2019-06-18 | 厦门美图之家科技有限公司 | 一种对齐分类模型的训练方法和图像分类方法 |
CN110059734A (zh) * | 2019-04-02 | 2019-07-26 | 唯思科技(北京)有限公司 | 一种目标识别分类模型的训练方法、物体识别方法、装置、机器人和介质 |
CN110188767A (zh) * | 2019-05-08 | 2019-08-30 | 浙江大学 | 基于深度神经网络的角膜病图像序列化特征提取与分类方法及装置 |
CN110599445A (zh) * | 2019-07-24 | 2019-12-20 | 安徽南瑞继远电网技术有限公司 | 一种电网螺母和销的目标鲁棒检测与缺陷识别方法及装置 |
CN111079602A (zh) * | 2019-12-06 | 2020-04-28 | 长沙千视通智能科技有限公司 | 基于多尺度区域特征约束的车辆细粒度识别方法及装置 |
CN111126459A (zh) * | 2019-12-06 | 2020-05-08 | 深圳久凌软件技术有限公司 | 一种车辆细粒度识别的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021233041A1 (zh) | 2021-11-25 |
EP4145345A4 (en) | 2023-08-23 |
EP4145345A1 (en) | 2023-03-08 |
CN113688851A (zh) | 2021-11-23 |
US20230087292A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113688851B (zh) | 数据标注方法和装置和精细粒度识别方法和装置 | |
CN110619369B (zh) | 基于特征金字塔与全局平均池化的细粒度图像分类方法 | |
WO2020007287A1 (zh) | 执行机器学习过程的方法、装置、设备以及存储介质 | |
CN110033002B (zh) | 基于多任务级联卷积神经网络的车牌检测方法 | |
CN111126396B (zh) | 图像识别方法、装置、计算机设备以及存储介质 | |
EP3596655B1 (en) | Method and apparatus for analysing an image | |
US11645328B2 (en) | 3D-aware image search | |
CN112507924B (zh) | 一种3d手势识别方法、装置及*** | |
Nasaruddin et al. | A lightweight moving vehicle classification system through attention-based method and deep learning | |
CN115376101A (zh) | 一种面向自动驾驶环境感知的增量式学习方法和*** | |
CN112597997A (zh) | 感兴趣区域确定方法、图像内容识别方法及装置 | |
CN109657710B (zh) | 数据筛选方法、装置、服务器及存储介质 | |
CN112488985A (zh) | 图像质量确定方法、装置及设备 | |
CN113344102B (zh) | 基于图像hog特征与elm模型的目标图像识别方法 | |
CN117523218A (zh) | 标签生成、图像分类模型的训练、图像分类方法及装置 | |
CN112651996B (zh) | 目标检测跟踪方法、装置、电子设备和存储介质 | |
CN114972725A (zh) | 模型训练方法、可读介质和电子设备 | |
CN114445679A (zh) | 模型训练方法及相关装置、设备和存储介质 | |
CN112699908B (zh) | 标注图片的方法、电子终端、计算机可读存储介质及设备 | |
Marchetti et al. | Explainable sparse attention for memory-based trajectory predictors | |
CN115393914A (zh) | 多任务模型训练方法、装置、设备及存储介质 | |
CN111860334A (zh) | 一种基于混淆度矩阵的级联车型分类方法及装置 | |
CN113793604B (zh) | 语音识别***优化方法和装置 | |
CN117333514B (zh) | 一种单目标视频跟踪方法、装置、存储介质及设备 | |
CN116129198B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220222 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |