CN113935389A - 数据标注的方法、装置、计算设备和存储介质 - Google Patents

数据标注的方法、装置、计算设备和存储介质 Download PDF

Info

Publication number
CN113935389A
CN113935389A CN202010605206.2A CN202010605206A CN113935389A CN 113935389 A CN113935389 A CN 113935389A CN 202010605206 A CN202010605206 A CN 202010605206A CN 113935389 A CN113935389 A CN 113935389A
Authority
CN
China
Prior art keywords
difficult
case
user
cases
model
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
CN202010605206.2A
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202010605206.2A priority Critical patent/CN113935389A/zh
Priority to EP21832513.2A priority patent/EP4163822A4/en
Priority to PCT/CN2021/095735 priority patent/WO2022001501A1/zh
Publication of CN113935389A publication Critical patent/CN113935389A/zh
Priority to US18/147,602 priority patent/US20230137533A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7753Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据标注的方法、装置、计算设备和存储介质,属于人工智能技术领域。该方法包括:AI平台确定未标注图像集中的多个难例和多个难例的难例属性,其中,难例属性包括难例系数,AI平台通过显示界面向用户显示多个难例中至少一个难例以及对应的难例属性,AI平台获取用户在显示界面中根据多个难例的难例系数对至少一个难例进行确认后的标注结果。采用本申请,可以提升数据标注的效率,进而提升AI模型的优化效率。

Description

数据标注的方法、装置、计算设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别涉及一种数据标注的方法、装置、计算设备和存储介质。
背景技术
随着互联网技术的发展,人工智能(Artificial Intelligence,AI)技术被应用到越来越多的领域,同时与AI相关的众多问题急需解决,如数据获取、数据处理、数据标注、模型训练等。由此激发了人们建立了AI平台,为开发者和用户提供便捷的AI开发环境以及便利的开发工具等。AI平台可以应用于多个场景中,如图像分类、目标检测等场景中。其中,图像分类是对图像进行分类识别的人工智能技术。目标检测是对图像或视频中的物体进行准确定位并进行分类识别的人工智能技术。AI平台需要使用大量的样本数据训练AI模型。
相关技术中,为了减少样本数据的标注,用户首先标注少量样本数据,AI平台基于少量标注的样本数据训练AI模型。AI平台使用半训练状态的AI模型对标注的样本数据进行推理,获得推理结果。然后用户对推理结果进行逐个确认,获得大量标注的样本数据,然后使用大量标注的样本数据继续优化训练该AI模型。
这样,由于需要对每个未标注的样本数据确认,导致数据标注的时间和人力成本较高,进而导致AI模型优化效率低。
发明内容
本申请提供一种提供数据标注的方法,该方法可为减少数据标注,提升AI模型的优化效率。
第一方面,本申请提供了一种提供数据标注的方法,该方法包括:确定未标注图像集中的多个难例和多个难例的难例属性,其中,难例属性包括难例系数;通过显示界面向用户显示多个难例中至少一个难例以及对应的难例属性;获取用户在显示界面中根据多个难例的难例系数对至少一个难例进行确认后的标注结果。
本申请所示的方案,该方法可以由AI平台执行,AI平台可以对未标注图像集进行难例挖掘,获得未标注图像集中的多个难例以及多个难例的难例属性。AI平台通过显示界面向用户显示多个难例中的至少一个难例以及该至少一个难例对应的难例属性。用户可以对显示的至少一个难例进行确认,AI平台可以获得确认后的标注结果。由于AI平台可以给用户提供难例,用户仅需要确认难例,而不需要标注大量的未标注图像,所以可以提升标注效率,进而可以提升优化AI模型的效率。而且还为用户提供了难例属性,使用户更加了解难例,进一步提升标注效率。
在一种可能的实现方式中,难例属性还包括难例原因;通过显示界面显示多个难例中至少一个难例以及对应的难例属性,还包括:通过显示界面显示至少一个难例对应的难例原因以及难例原因对应的建议信息;其中,建议信息指示减少相应难例原因的难例可以进行的处理方式。
本申请所示的方案,难例属性还可以包括难例原因,AI平台在显示界面显示难例时,除了显示至少一个难例的难例系数,还可以显示至少一个难例的难例原因,以及难例原因对应的建议信息。这样,可以使用户更了解难例,使用户更快速的确认标注结果,而且给出用户减少难例的处理方式,使用户采取相应的措施快速的减少难例。
在一种可能的实现方式中,难例属性还包括难例类型,难例类型包括误检、漏检或预测正常。这样,可以快速的区分是何种难例。
在一种可能的实现方式中,通过显示界面显示多个难例中至少一个难例以及对应的难例属性,包括:通过显示界面用不同显示颜色或者不同显示线条显示不同的难例类型。这样,可以更快速的区分难例。
在一种可能的实现方式中,确定未标注图像集中的多个难例和多个难例的难例属性,包括:根据难例挖掘算法,确定未标注图像集中的多个难例和多个难例的难例属性。
在一种可能的实现方式中,获取用户在显示界面中根据多个难例的难例系数对至少一个难例进行确认后的标注结果之后,还包括:为至少一个难例中每个难例的难例原因获取权重;分析标注结果,若至少一个难例中的目标难例被用户确认为正确难例,则增加目标难例的难例原因对应的权重;在标注结果中,若目标难例被用户确认为不正确难例,则降低目标难例的难例原因对应的权重;根据更新后的权重,对难例挖掘算法进行更新。
本申请所示的方案,难例挖掘算法中每个难例原因均对应有权重,AI平台在获取到用户确认后的标注结果后,AI平台可以分析标注结果,若至少一个难例中的目标难例被用户确认为正确难例(正确难例为用户认为难例挖掘算法挖掘出的难例中是难例的难例),则可以增加目标难例的难例原因对应的权重;在标注结果中,若目标难例被用户确认为不正确难例(不正确难例为用户认为难例挖掘算法挖掘出的难例中不是难例的难例),则可以降低目标难例的难例原因对应的权重,然后AI平台根据更新后的权重,对难例挖掘算法进行更新。这样,可以根据用户的确认后的标注结果,更新难例挖掘算法中各难例原因的权重,使得难例挖掘算法挖掘难例的准确性快速提升。
在一种可能的实现方式中,通过显示界面向用户显示多个难例中至少一个难例以及对应的难例属性,包括:获取用户在显示界面选择的难例系数的筛选范围和/或显示顺序;根据难例系数的筛选范围和/或显示顺序,通过显示界面显示至少一个难例以及对应的难例属性。
本申请所示的方案,AI平台提供了难例的筛选显示方式,用户可以在显示界面中选择难例系数的筛选范围和/或显示顺序,AI平台可以基于该难例系数的筛选范围和/或显示顺序,通过显示界面显示至少一个难例以及对应的难例属性。这样,提供了更灵活的显示方式。
在一种可能的实现方式中,该方法还包括:在至少一个难例为多个难例时,通过显示界面显示未标注图像集对应的统计信息,其中,统计信息包括未标注图像集中非难例和难例的分布信息、未标注图像集中各难例原因的难例分布信息、未标注图像集中各难例系数范围的难例分布信息或未标注图像集中各难例类型的难例分布信息中的一种或多种。这样,可以使用户通过非难例和难例的分布信息确定当前AI模型的推理性能,或者,使用户了解难例在难例原因的分布,使得用户可以针对性的采取措施减少难例等。
第二方面,提供了一种难例挖掘算法更新的方法,该方法包括:利用难例挖掘算法确定未标注图像集中的多个难例;通过显示界面向用户显示多个难例中的至少一个难例;根据用户通过显示界面对至少一个难例进行确认后的标注结果,对难例挖掘算法进行更新。
本申请所示的方案,该方法可以由AI平台执行,AI平台可以使用难例挖掘算法,确定未标注的多个难例,AI平台可以在显示界面中为用户显示多个难例中的至少一个难例。用户可以在该显示界面中对该至少一个难例进行确认。AI平台获取用户在显示界面对至少一个难例进行确认后的标注结果,然后AI平台基于该标注结果对难例挖掘算法进行更新。这样,由于可以根据用户的确认后的标注结果,反向更新难例挖掘算法,所以可以使得难例预测的准确率越来越高。
在一种可能的实现方式中,该方法还包括:利用难例挖掘算法确定多个难例的难例原因,通过显示界面向用户提供难例原因对应的建议信息,其中,建议信息指示减少相应难例原因的难例可以进行的处理方式。
本申请所示的方案,AI平台还可以通过难例挖掘算法,确定多个难例的难例原因,在显示界面中显示难例原因以及对应的建议信息。这样,可以使用户可以更了解难例,并且可以采取相应的措施减少难例,使得训练出的AI模型的预测性能更好。
在一种可能的实现方式中,根据用户通过显示界面对至少一个难例进行确认后的标注结果,对难例挖掘算法进行更新,包括:为至少一个难例中每个难例的难例原因获取权重;分析标注结果,若至少一个难例中的目标难例被用户确认为正确难例,则增加目标难例的难例原因对应的权重;在标注结果中,若目标难例被用户确认为不正确难例,则降低目标难例的难例原因对应的权重;根据更新后的权重,对难例挖掘算法进行更新。
本申请所示的方案,难例挖掘算法中每个难例原因均对应有权重,AI平台在获取到用户确认后的标注结果后,AI平台可以分析标注结果,若至少一个难例中的目标难例被用户确认为正确难例(正确难例为用户认为难例挖掘算法挖掘出的难例中是难例的难例),则可以增加目标难例的难例原因对应的权重;在标注结果中,若目标难例被用户确认为不正确难例(不正确难例为用户认为难例挖掘算法挖掘出的难例中不是难例的难例),则可以降低目标难例的难例原因对应的权重,然后AI平台根据更新后的权重,对难例挖掘算法进行更新。这样,可以根据用户的确认后的标注结果,更新难例挖掘算法中各难例原因的权重,使得难例挖掘算法挖掘难例的准确性快速提升。
在一种可能的实现方式中,该方法还包括:通过显示界面显示至少一个难例对应的难例属性,难例属性包括难例系数、难例原因、难例类型中的一种或多种。这样,为用户显示关于难例的更多内容,使用户更了解难例,提升确认效率。
第三方面,提供了一种数据标注的装置,该装置包括:难例挖掘模块,用于确定未标注图像集中的多个难例和所述多个难例的难例属性,其中,所述难例属性包括难例系数;
用户输入/输出(Input/output,I/O)模块,用于:通过显示界面向用户显示所述多个难例中至少一个难例以及对应的难例属性;获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果。这样,由于可以给用户提供难例,用户仅需要确认难例,而不需要标注大量的未标注图像,所以可以提升标注效率,进而可以提升优化AI模型的效率。而且还为用户提供了难例属性,使用户更加了解难例,进一步提升标注效率。
在一种可能的实现方式中,所述难例属性还包括难例原因;所述用户I/O模块,还用于:
通过所述显示界面显示所述至少一个难例对应的难例原因以及所述难例原因对应的建议信息;其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。这样,可以使用户更了解难例,使用户更快速的确认标注结果,而且给出用户减少难例的处理方式,使用户采取相应的措施快速的减少难例。
在一种可能的实现方式中,所述难例属性还包括难例类型,所述难例类型包括误检、漏检或预测正常。这样,可以快速的区分是何种难例。
在一种可能的实现方式中,所述用户I/O模块,还用于:通过所述显示界面用不同显示颜色或者不同显示线条显示不同的难例类型。
在一种可能的实现方式中,所述难例挖掘模块,具体用于:根据难例挖掘算法,确定所述未标注图像集中的多个难例和所述多个难例的难例属性。
在一种可能的实现方式中,所述装置还包括模型训练模块,用于:获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果之后,为所述至少一个难例中每个难例的难例原因获取权重;分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;根据更新后的权重,对所述难例挖掘算法进行更新。这样,可以根据用户的确认后的标注结果,更新难例挖掘算法中各难例原因的权重,使得难例挖掘算法挖掘难例的准确性快速提升。
在一种可能的实现方式中,所述用户I/O模块,用于:获取用户在所述显示界面选择的难例系数的筛选范围和/或显示顺序;根据所述难例系数的筛选范围和/或显示顺序,通过所述显示界面显示所述至少一个难例以及对应的难例属性。这样,提供了更灵活的显示方式。
在一种可能的实现方式中,所述用户I/O模块,还用于:在所述至少一个难例为所述多个难例时,通过所述显示界面显示所述未标注图像集对应的统计信息,其中,所述统计信息包括所述未标注图像集中非难例和难例的分布信息、所述未标注图像集中各难例原因的难例分布信息、所述未标注图像集中各难例系数范围的难例分布信息或所述未标注图像集中各难例类型的难例分布信息中的一种或多种。这样,可以使用户通过非难例和难例的分布信息确定当前AI模型的推理性能,或者,使用户了解难例在难例原因的分布,使得用户可以针对性的采取措施减少难例等。
第四方面,提供了一种难例挖掘算法更新的装置,该装置包括:难例挖掘模块,用于利用难例挖掘算法确定未标注图像集中的多个难例;
用户输入/输出I/O模块,用于通过显示界面向用户显示所述多个难例中的至少一个难例;
模型训练模块,用于根据所述用户通过所述显示界面对所述至少一个难例进行确认后的标注结果,对所述难例挖掘算法进行更新。
这样,由于可以根据用户的确认后的标注结果,反向更新难例挖掘算法,所以可以使得难例预测的准确率越来越高。
在一种可能的实现方式中,所述难例挖掘模块,还用于:利用所述难例挖掘算法确定所述多个难例的难例原因,所述用户I/O模块还用于:通过所述显示界面向所述用户提供所述难例原因对应的建议信息,其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。这样,可以使用户可以更了解难例,并且可以采取相应的措施减少难例,使得训练出的AI模型的预测性能更好。
在一种可能的实现方式中,所述模型训练模块,用于:为所述至少一个难例中每个难例的难例原因获取权重;分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;根据所述更新后的权重,对所述难例挖掘算法进行更新。这样,可以根据用户的确认后的标注结果,更新难例挖掘算法中各难例原因的权重,使得难例挖掘算法挖掘难例的准确性快速提升。
在一种可能的实现方式中,所述用户I/O模块,用于:通过所述显示界面显示所述至少一个难例对应的难例属性,所述难例属性包括难例系数、难例原因、难例类型中的一种或多种。这样,为用户显示关于难例的更多内容,使用户更了解难例,提升确认效率。
第五方面,本申请还提供一种计算设备,所述计算设备包括存储器和处理器,所述存储器用于存储一组计算机指令;所述处理器执行所述存储器存储的一组计算机指令,以使得所述计算设备执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第六方面,本申请还提供一种计算设备,所述计算设备包括存储器和处理器,所述存储器用于存储一组计算机指令;所述处理器执行所述存储器存储的一组计算机指令,以使得所述计算设备执行第二方面或第二方面的任意一种可能的实现方式提供的方法。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意一种可能的实现方式中提供的方法。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard diskdrive,HDD)、固态硬盘(solid state drive,SSD)。
第八方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被计算设备执行时,所述计算设备执行前述第二方面或第二方面的任意一种可能的实现方式中提供的方法。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘、固态硬盘。
第九面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,在所述计算机程序代码被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第十面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,在所述计算机程序代码被计算设备执行时,所述计算设备执行前述第二方面或第二方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第二方面或第二方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
附图说明
图1为本申请实施例提供的一种AI平台100的结构示意图;
图2为本申请实施例提供的一种AI平台100的应用场景示意图;
图3为本申请实施例提供的一种AI平台100的部署示意图;
图4为本申请实施例提供的一种部署AI平台100的计算设备400的结构示意图;
图5为本申请实施例提供的一种提供数据标注的方法的流程示意图;
图6为本申请实施例提供的一种数据的上传界面的示意图;
图7为本申请实施例提供的一种导出难例界面的示意图;
图8为本申请实施例提供的一种启动智能标注的界面的示意图;
图9为本申请实施例提供的一种多个难例的显示界面的示意图;
图10为本申请实施例提供的一种单个难例的显示界面的示意图;
图11为本申请实施例提供的一种数据标注的方法的流程示意图;
图12为本申请实施例提供的一种难例挖掘算法更新的方法的流程示意图;
图13为本申请实施例提供的一种数据标注的装置的结构示意图;
图14为本申请实施例提供的一种数据标注的装置的结构示意图;
图15为本申请实施例提供的一种难例挖掘算法更新的装置的结构示意图;
图16为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
目前,人工智能热潮不断,机器学习是一种实现AI的核心手段,机器学习渗透至医学、交通、教育、金融等各个行业。不仅仅是专业技术人员,就连各行业的非AI技术专业也期盼用AI、机器学习完成特定任务。
为了便于理解本申请提供的技术方案和实施例,下面对AI模型、AI模型的训练、难例、难例挖掘、AI平台等概念进行详细说明:
AI模型,是一类用机器学习思想解决实际问题的数学算法模型,AI模型中包括大量的参数和计算公式(或计算规则),AI模型中的参数是可以通过训练图像集对AI模型进行训练获得的数值,例如,AI模型的参数是AI模型中的计算公式或计算因子的权重。AI模型还包含一些超(hyper)参数,超参数是无法通过训练图像集对AI模型进行训练获得的参数,超参数可用于指导AI模型的构建或者AI模型的训练,超参数有多种。例如,AI模型训练的迭代(iteration)次数、学习率(leaning rate)、批尺寸(batch size)、AI模型的层数、每层神经元的个数。换而言之,AI模型的超参数与参数的区别在于:AI模型的超参数的值无法通过对训练图像集中的训练图像进行分析获得,而AI模型的参数的值可根据在训练过程中对训练图像集中的训练图像进行分析进行修改和确定。
AI模型多种多样,使用较为广泛的一类AI模型为神经网络模型,神经网络模型是一类模仿生物神经网络(动物的中枢神经系统)的结构和功能的数学算法模型。一个神经网络模型可以包括多种不同功能的神经网络层,每层包括参数和计算公式。根据计算公式的不同或功能的不同,神经网络模型中不同的层有不同的名称。例如,进行卷积计算的层称为卷积层,卷积层常用于对输入信号(如图像)进行特征提取。一个神经网络模型也可以由多个已有的神经网络模型组合构成。不同结构的神经网络模型可用于不同的场景(如分类、识别等)或在用于同一场景时提供不同的效果。神经网络模型结构不同具体包括以下一项或多项:神经网络模型中网络层的层数不同、各个网络层的顺序不同、每个网络层中的权重、参数或计算公式不同。业界已存在多种不同的用于识别或分类等应用场景的具有较高准确率的神经网络模型,其中,一些神经网络模型可以被特定的训练图像集进行训练后单独用于完成一项任务或与其他神经网络模型(或其他功能模块)组合完成一项任务。
除了神经网络模型外,其他大部分AI模型在被用于完成一项任务前都需要被训练。
训练AI模型,是指利用已有的样本通过一定方法使AI模型拟合已有样本中的规律,确定AI模型中的参数。例如:训练一个用于图像分类或检测识别的AI模型需要准备一个训练图像集,根据训练图像集中的训练图像是否有标注(即:图像是否有特定的类型或名称),可以将AI模型的训练分为监督训练(supervised training)和无监督训练(unsupervised trainng)。对AI模型进行监督训练时,用于训练的训练图像集中的训练图像带有标注(label)。训练AI模型时,将训练图像集中的训练图像作为AI模型的输入,将训练图像对应的标注作为AI模型的输出值的参考,利用损失函数(loss function)计算AI模型输出值与训练图像对应的标注的损失(loss)值,根据损失值调整AI模型中的参数。用训练图像集中的每个训练图像迭代地对AI模型进行训练,AI模型的参数不断调整,直到AI模型可以根据输入的训练图像准确度较高地输出与训练图像对应的标注相同的输出值。对AI模型进行无监督训练,则用于训练的图像集中的训练图像没有标注,训练图像集中的训练图像依次输入至AI模型,由AI模型逐步识别训练图像集中的训练图像之间的关联和潜在规则,直到AI模型可以用于判断或识别输入的图像的类型或特征。例如,聚类,用于聚类的AI模型接收到大量的训练图像后,可学习到各个训练图像的特征以及训练图像之间的关联和区别,将训练图像自动地分为多个类型。不同的任务类型可采用不同的AI模型,一些AI模型仅可以用监督学习的方式训练,一些AI模型仅可以用无监督学习的方式训练,还有一些AI模型既可以用监督学习的方式训练又可以用无监督学习的方式训练。经过训练完成的AI模型可以用于完成一项特定的任务。通常而言,机器学习中的AI模型都需要采用有监督学习的方式进行训练,有监督学习的方式对AI模型进行训练可使AI模型在带有标注的训练图像集中更有针对性地学习到训练图像集中训练图像与对应标注的关联,使训练完成的AI模型用于预测其他输入推理图像时准确率较高。
下面举一个用监督学习的方式训练一个用于图像分类任务的神经网络模型的例子:为了训练一个用于完成图像分类任务的神经网络模型,首先根据任务搜集图像,构建训练图像集,构成的训练图像集中包含3类图像,分别为:苹果、梨、香蕉,采集的训练图像分别按照类型存放在3个文件夹中,文件夹命名即为该文件夹内所有图像的标注。训练图像集构建好之后,选择一个可实现图像分类的神经网络模型(如卷积神经网络(convolutionalneural network,CNN)),将训练图像集中的训练图像输入至CNN中,CNN中各层的卷积核对图像进行特征提取、特征分类,最后输出图像属于每个类型的置信度(confidence),根据置信度和图像对应的标注利用损失函数计算损失值,根据损失值和CNN结构更新CNN中每层的参数。前述训练过程持续进行,直到损失函数输出的损失值收敛或者训练图像集中所有的图像均被用于训练,则训练结束。
损失函数,是用于衡量AI模型被训练的程度(也就是用于计算AI模型预测的结果与真实目标之间的差异)的函数。在训练AI模型的过程中,因为希望AI模型的输出尽可能的接近真正想要预测的值,所以可以通过比较当前AI模型根据输入图像的预测值和真正想要的目标值(即输入图像的标注),再根据两者之间的差异情况来更新AI模型中的参数(当然,在第一次更新之前通常会有初始化的过程,即为AI模型中的参数预先配置初始值)。每次训练都通过损失函数判断一下当前的AI模型预测的值与真实目标值之间的差异,更新AI模型的参数,直到AI模型能够预测出真正想要的目标值或与真正想要的目标值非常接近的值,则认为AI模型被训练完成。
在训练完成AI模型之后,训练完成的AI模型可以用于对图像进行推理,得到推理结果。例如,在图像分类的场景中,具体的推理过程是:将图像输入至AI模型中,AI模型中的各层的卷积核对图像进行特征提取,基于提取的特征输出图像所属的类别。在目标检测(也可以称为是物体检测)的场景中,将图像输入至AI模型中,AI模型中的各层的卷积核对图像进行特征提取,基于提取的特征输出图像包括的每个目标的边界框的位置和类别。在涵盖图像分类和目标检测的场景时,将图像输入至AI模型中,AI模型中的各层的卷积核对图像进行特征提取,基于提取的特征输出图像所属的类别,以及图像包括的每个目标的边界框的位置和类别。此处需要说明的是,对于AI模型,有些AI模型的推理能力较强,而有些AI模型的推理能力较弱。AI模型的推理能力较强指使用AI模型对图像进行推理时,推理结果的准确率大于或等于一定数值。而AI模型的推理能力较弱指使用AI模型对图像进行推理时,推理结果的准确率低于该一定数值。
数据标注,是对未标注数据添加在相应场景中的标签的过程。例如,未标注数据为未标注图像,在图像分类的场景中,为未标注图像添加所属类别,在目标检测的场景中,为未标注图像中的目标添加位置信息以及类别。
难例(hard example),是对初始AI模型进行训练的过程中或者对训练后的AI模型进行推理的过程中,初始AI模型或训练后的AI模型输出的结果为错误或错误率较高时对应的模型的输入数据。例如,在AI模型的训练过程中,将训练时预测结果与标签结果之间的损失函数值大于一定阈值的输入数据作为难例。在AI模型的推理过程中,将推理图像集中的图像输入至AI模型,输出的推理结果的错误率高于目标阈值,则对应输入的图像为难例。在一种场景下,AI模型也可以用于对未标注的图片进行智能标注,利用AI模型做智能标注过程实际也是AI模型的推理过程,被标注错误或者被标注错误率较高的输入图像,被确定为难例。
难例挖掘,指确定一个图像为难例的方法。
AI平台,是一种为AI开发者和用户提供便捷的AI开发环境以及便利的开发工具的平台。AI平台中内置有各种解决不同问题的AI模型或者AI子模型,AI平台可以根据用户的需求搜索并且建立适用的AI模型,用户只需在AI平台中确定自己的需求,且按照提示准备好训练图像集上传至AI平台,AI平台就能为用户训练出一个可用于实现用户需要的AI模型。或者,用户按照提示准备好自己的算法和训练图像集,上传至AI平台,AI平台基于用户自己的算法和训练图像集,可以训练出一个可用于实现用户需要的AI模型。用户可利用训练完成的AI模型完成自己的特定任务。
本申请实施例中的AI平台中引入难例挖掘技术,使得AI平台形成AI模型构建、训练、推理、难例挖掘、再训练、再推理的闭环过程。
需要说明的是,上文中提到的AI模型是一种泛指,AI模型包括深度学习模型、机器学习模型等。
图1为本申请实施例中的AI平台100的结构示意图,应理解,图1仅是示例性地展示了AI平台100的一种结构化示意图,本申请并不限定对AI平台100中的模块的划分。如图1所示,AI平台100包括用户输入输出(input/output,I/O)模块101、难例挖掘模块102、模型训练模块103、推理模块104、数据预处理模块105。可选的,AI平台还可以包括AI模型存储模块106和数据存储模块107。
下面简要地描述AI平台100中的各个模块的功能:
用户I/O模块101:用于接收用户输入或选择的任务目标、接收用户的训练图像集等。用户I/O模块101还用于接收用户对难例的标注确认、从用户获取带标注的一个或多个图像,当然,用户I/O模块101还用于向其他用户提供AI模型等。作为用户I/O模块101的举例,可采用图形用户界面(graphical user interface,GUI)或命令行界面(CLI)实现。例如,GUI上显示AI平台100可向用户提供多种AI业务(如图像分类业务、目标检测业务等)。用户可在GUI上选择一个任务目标,例如,用户选择图像分类业务,用户可以继续在AI平台的GUI中上传未标注的多个图像等。GUI接收到任务目标和未标注的多个图像后,与模型训练模块103进行通信。模型训练模块103根据用户确定的任务目标为用户选择或者搜索可用于完成用户任务目标的构建的AI模型。用户I/O模块101还用于接收难例挖掘模块102输出的难例,提供GUI,用于用户对难例进行确认处理。
可选的,用户I/O模块101还可用于接收用户输入的对完成任务目标的AI模型的效果期望。例如,输入或选择最终获得的AI模型用于人脸识别的准确率要高于99%。
可选的,用户I/O模块101还可用于接收用户输入的AI模型等。例如,用户可基于自己的任务目标,在GUI输入初始AI模型。
可选的,用户I/O模块101还可用于接收用户输入的未标注图像集中未标注图像的表层特征和深层特征。对于图像分类的场景中,表层特征包括图像的分辨率、图像的长宽比、图像的红绿蓝(RGB)的均值和方差、图像的亮度、图像的饱和度或图像的清晰度中的一种或多种,深层特征指使用特征提取模型(如CNN等)中的卷积核提取到的图像的抽象特征。对于目标检测的场景中,表层特征包括边界框的表层特征和图像的表层特征,边界框的表层特征可以包括单帧图像中每个边界框的长宽比、单帧图像中每个边界框的面积占图像面积的比例、单帧图像中每个边界框的边缘化程度、单帧图像中每个边界框的堆叠图、单帧图像中每个边界框的亮度或单帧图像中每个边界框的模糊度中的一种或多种,图像的表层特征可以包括图像的分辨率、图像的长宽比、图像的RGB的均值和方差、图像的亮度、图像的饱和度或图像的清晰度、单帧图像中框的数目或单帧图像中框的面积的方差中的一种或多种。深层特征指使用特征提取模型(如CNN等)中的卷积核提取到的图像的抽象特征。
可选的,用户I/O模块101还可用于提供GUI,用于用户对训练图像集中训练图像的标注。
可选的,用户I/O模块101还可用于提供各种预先内置的初始AI模型供用户选择。例如,用户可根据自己的任务目标在GUI上选择一个初始AI模型。
可选的,用户I/O模块101还可用于接收用户对初始AI模型、训练图像集中训练图像的各种配置信息等。
难例挖掘模块102,用于在用户I/O模块101接收到的未标注图像集中,确定出难例以及难例属性。难例挖掘模块102与推理模块104、用户I/O模块101均可以进行通信。难例挖掘模块102可以从推理模块104中,获取推理模块104对未标注图像集中未标注图像进行推理的推理结果,基于推理结果挖掘出未标注图像集中的难例以及难例属性。难例挖掘模块102还可以向用户I/O模块101提供挖掘出的难例以及难例属性,其中难例属性用于指导用户对难例进行标注确认。
可选的,难例挖掘模块102还可用于从用户I/O模块101中,获取用户输入的未标注图像集中未标注图像的表层特征和深层特征。
模型训练模块103:用于对AI模型进行训练。模型训练模块103与用户I/O模块101、推理模块104、AI模型存储模块106均可以通信。具体处理为:
初始AI模型包括未进行训练的AI模型、进行训练但是未基于难例优化的AI模型。未进行训练的AI模型指构建的AI模型还未使用训练图像集进行训练,构建的AI模型中的参数均是预设的数值。进行训练但是未基于难例优化的AI模型指已经能用于推理但是未基于难例优化的AI模型,可以包括两种,一种是用户直接在AI模型存储模块105中选择的初始AI模型,一种是仅使用训练图像集中带标注的训练图像对构建的AI模型进行训练获得的AI模型。可见AI平台可以从AI模型存储模块106中,获取初始AI模型,或者使用模型训练模块103对训练图像集合进行训练,获得初始AI模型。
初始AI模型为仅使用训练图像集中带标注的训练图像对构建的AI模型进行训练获得的AI模型,具体处理为:AI平台根据用户的任务目标为用户确定用于完成用户任务目标的构建的AI模型。模型训练模块103与用户I/O模块101和AI模型存储模块106均可以进行通信。模型训练模块103根据用户的任务目标在AI模型存储模块106中存储的AI模型库中选择一个现成的AI模型,作为构建的AI模型,或者模型训练模块103根据用户的任务目标,或者用户对任务目标的预期效果或者用户输入的一些配置参数,在AI模型库中搜索AI子模型结构,且指定一些AI模型的超参数,例如,模型的层数、每层神经元的个数等,进行AI模型构建,最终获得一个构建的AI模型。值得注意的是,AI模型的一些超参数可以是AI平台根据AI模型的构建和训练的经验确定的超参数。
模型训练模块103从用户I/O模块101获取训练图像集。模型训练模型103根据训练图像集的特点和构建的AI模型的结构确定构建的AI模型训练时的一些超参数。例如,迭代次数、学习率、批尺寸等。在设定完超参数后,模型训练模块103利用获取的训练图像集中带标注的图像对构建的AI模型执行自动训练,在训练过程中不断更新构建的AI模型内部的参数,获得初始AI模型。值得注意的是,对构建的AI模型训练时的一些超参数可以是AI平台根据模型训练的经验确定的超参数。
模型训练模块103将训练图像集中未标注的图像,输入至初始AI模型,输出未标注的图像的推理结果,模型训练模块103将推理结果传输至难例挖掘模块102,难例挖掘模块102基于推理结果,挖掘出未标注的图像中的难例以及难例属性。难例挖掘模块102将确定出的难例和难例属性反馈给用户I/O模块101。用户I/O模块101获取用户标注确认的难例,将用户标注确认的难例反馈给模型训练模块103。模型训练模块103基于用户I/O模块101提供的难例,继续对初始AI模型进行优化训练,得到优化AI模型,并且对难例挖掘模块102进行优化。模型训练模块103将优化AI模型提供给推理模块104,用于进行推理处理。此处需要说明的是,若初始AI模型是AI模型存储模块106中存储的初始AI模型,则训练图像集中训练图像可以为全部未标注的图像。若初始AI模型是构建的AI模型,则训练图像集中训练图像包括部分未标注的图像和部分带标注的图像。
推理模块104使用优化AI模型对未标注图像集中未标注图像进行推理,输出未标注图像集中未标注图像的推理结果。难例挖掘模块102从推理模块104中获取推理结果,基于推理结果,确定出未标注图像集中的难例以及难例属性。难例挖掘模块102将确定出的难例和难例属性反馈给用户I/O模块101。用户I/O模块101获取用户标注确认的难例,将用户标注确认的难例反馈给模型训练模块103。模型训练模块103基于用户I/O模块101提供的难例,继续对优化AI模型进行训练,得到更加优化的AI模型。模型训练模块103将更加优化的AI模型传输至AI模型存储模块106进行存储,将更加优化的AI模型传输至推理模块104用于进行推理处理。此处需要说明的是,在推理模块104对未标注图像集中未标注图像进行推理,得到难例,再优化优化的AI模型时,实际上与使用训练图像中的难例对初始AI模型的优化过程相同,此时未标注图像中的难例作为训练图像。
可选的,模型训练模块103还可用于将用户在GUI上选择的AI模型确定为初始AI模型。或者将用户在GUI上输入的AI模型确定为初始AI模型。
可选的,初始AI模型还可以包括使用训练图像集中的图像对AI模型存储模块106中的AI模型训练后的AI模型。
推理模块104,用于根据AI模型对未标注图像集中未标注图像进行推理,得到推理结果。推理模块104与难例挖掘模块102、用户I/O模块101、AI模型存储模块105均可以进行通信。推理模块104从用户I/O模块101获取未标注图像集中未标注图像,对未标注图像集中未标注图像进行推理处理,得到未标注图像集中未标注图像的推理结果。推理模块104将推理结果传输至难例挖掘模块102,以使难例挖掘模块102基于推理结果,挖掘未标注图像集中的难例以及难例属性。
数据预处理模块105,用于对用户I/O模块101接收到的训练图像集中训练图像和未标注图像集中未标注图像进行预处理操作。数据预处理模块105可从数据存储模块107读取用户I/O模块101接收到的训练图像集或未标注图像集,进而对未标注图像集中未标注图像或者训练图像集中训练图像进行预处理。对用户上传的训练图像集中训练图像或未标注图像集中未标注图像进行预处理可使得训练图像集中训练图像或未标注图像集中未标注图像中在尺寸上具有一致性,还可以去除训练图像集中训练图像或未标注图像集中未标注图像中不恰当的数据。预处理后的训练图像集可适合用于对构建的AI模型的训练或者对初始AI模型进行训练,还可使训练的效果更优。预处理后的未标注图像集中未标注图像可适合于输入至AI模型中进行推理处理。数据预处理模块105对训练图像集中训练图像或者未标注图像集中未标注图像进行预处理完成后,将预处理完成的训练图像集或者未标注图像集存储至数据存储模块107。或者将预处理后的训练图像集发送至模型训练模块103,将预处理后的未标注图像集发送至推理模块104。应理解,在另一个实施例中,数据存储模块107也可作为数据预处理模块105中的一部分,即使数据预处理模块105有存储图像的功能。
AI模型存储模块106:用于存储初始AI模型、优化AI模型和AI子模型结构等,也可以用于存储根据AI子模型结构确定构建的AI模型。AI模型存储模块106与用户I/O模块101、模型训练模块103均可以进行通信。AI模型存储模块106接收并存储模型训练模块103传输的训练完成的初始AI模型和优化AI模型。AI模型存储模块106为模型训练模块103提供构建的AI模型或者初始AI模型。AI模型存储模块106对用户I/O模块101接收到的用户上传的初始AI模型,进行存储。应理解,在另一个实施例中,AI模型存储模块106也可作为模型训练模块103中的一部分。
数据存储模块107(如:可以是云服务提供商提供的对象存储服务(ObjectStorage Service,OBS)对应的数据存储资源):用于存储用户上传的训练图像集和未标注图像集,也用于存储数据预处理模块105处理后的数据。
需要说明的是,本申请中的AI平台可以是一个可以与用户交互的系统,这个系统可以是软件系统也可以是硬件系统,也可以是软硬结合的系统,本申请中不进行限定。
由于上述各模块的功能,本申请实施例提供的AI平台可以从未标注的图像中挖掘出难例以及难例属性,指导用户对难例进行确认标注,后续可以进一步基于难例继续训练难例挖掘算法和初始AI模型,得到优化AI模型和优化难例挖掘算法,使AI模型进行推理的推理结果更准确,使难例挖掘算法挖掘的难例更准确。
图2为本申请实施例提供的一种AI平台100的应用场景示意图,如图2所示,在一种实施例中,AI平台100可全部部署在云环境中。云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。AI平台100可以独立地部署在云数据中心中的服务器或虚拟机上,AI平台100也可以分布式地部署在云数据中心中的多台服务器上、或者分布式地部署在云数据中心中的多台虚拟机上、再或者分布式地部署在云数据中心中的服务器和虚拟机上。如图2所示,AI平台100由云服务提供商在云服务平台抽象成一种AI云服务提供给用户,用户在云服务平台购买该云服务后(可预充值再根据最终资源的使用情况进行结算),云环境利用部署在云数据中心的AI平台100向用户提供AI平台云服务。在使用AI平台云服务时,用户可以通过应用程序接口(application program interface,API)或者GUI确定要AI模型完成的任务、上传训练图像集和未标注图像集至云环境,云环境中的AI平台100接收用户的任务信息、训练图像集和未标注图像集,执行数据预处理、AI模型训练、使用训练完成的AI模型对未标注图像集中未标注图像进行推理,进行难例挖掘确定出难例以及难例属性以及基于挖掘出的难例重新训练AI模型等操作。AI平台通过API或者GUI向用户返回挖掘出的难例以及难例属性等内容。用户进一步选择是否要基于难例重新训练AI模型。训练完成的AI模型可被用户下载或者在线使用,用于完成特定的任务。
在本申请的另一种实施例中,云环境下的AI平台100抽象成AI云服务向用户提供时,可分为两部分,即:基础AI云服务和AI难例挖掘云服务。用户在云服务平台可先仅购买基础AI云服务,在需要使用AI难例挖掘云服务时再进行购买,购买后由云服务提供商提供AI难例挖掘云服务API,最终按照调用API的次数对AI难例挖掘云服务进行额外计费。
本申请提供的AI平台100的部署较为灵活,如图3所示,在另一种实施例中,本申请提供的AI平台100还可以分布式地部署在不同的环境中。本申请提供的AI平台100可以在逻辑上分成多个部分,每个部分具有不同的功能。例如,在一种实施例中AI平台100包括用户I/O模块101、难例挖掘模块102、模型训练模块103、AI模型存储模块105和数据存储模块106。AI平台100中的各部分可以分别部署在终端计算设备、边缘环境和云环境中的任意两个或三个环境中。终端计算设备包括:终端服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑、智能摄相机等。边缘环境为包括距离终端计算设备较近的边缘计算设备集合的环境,边缘计算设备包括:边缘服务器、拥有计算能力的边缘小站等。部署在不同环境或设备的AI平台100的各个部分协同实现为用户提供构建的AI模型确定和训练等功能。例如,在一种场景中,终端计算设备中部署AI平台100中的用户I/O模块101、数据存储模块106和数据预处理模块107,边缘环境的边缘计算设备中部署AI平台100中的难例挖掘模块102、模型训练模块103、推理模块104和AI模型存储模块105。用户将训练图像集和未标注图像集发送至终端计算设备中的用户I/O模块101,终端计算设备将训练图像集和未标注图像集存储至数据存储模块106,数据预处理模块102对训练图像集中训练图像和未标注图像集中未标注图像进行预处理,将预处理后的训练图像集中训练图像和未标注图像集中未标注图像也存储在数据存储模块106。边缘计算设备中模型训练模块103根据用户的任务目标确定构建的AI模型,基于构建的AI模型和训练图像集中训练图像训练得到初始AI模型,进一步基于训练图像集中的未标注的图像中的难例和初始AI模型训练得到优化初始AI模型。可选的,难例挖掘模块102还可以基于优化AI模型挖掘出未标注图像集中包括的难例以及难例属性。模型训练模块103基于用户I/O模块101提供的难例对优化AI模型进行训练,获得更加优化的AI模型。应理解,本申请不对AI平台100的哪些部分部署具体部署在什么环境进行限制性的划分,实际应用时可根据终端计算设备的计算能力、边缘环境和云环境的资源占有情况或具体应用需求进行适应性的部署。
AI平台100也可以单独部署在任意环境中的一个计算设备上(如单独部署在边缘环境的一个边缘服务器上)。图4为部署有AI平台100的计算设备400的硬件结构示意图,图4所示的计算设备400包括存储器401、处理器402、通信接口403以及总线404。其中,存储器401、处理器402、通信接口403通过总线404实现彼此之间的通信连接。
存储器401可以是只读存储器(Read Only Memory,ROM),随机存取存储器(RandomAccess Memory,RAM),硬盘,快闪存储器或其任意组合。存储器401可以存储程序,当存储器401中存储的程序被处理器402执行时,处理器402和通信接口403用于执行AI平台100为用户训练AI模型、挖掘难例以及难例属性,进一步基于难例优化AI模型的方法。存储器还可以存储图像集。例如,存储器401中的一部分存储资源被划分成一个数据存储模块106,用于存储AI平台100所需的数据,存储器401中的一部分存储资源被划分成一个AI模型存储模块105,用于存储AI模型库。
处理器402可以采用中央处理器(CPU),应用专用集成电路(ASIC),图形处理器(GPU)或其任意组合。处理器402可以包括一个或多个芯片。处理器402可以包括AI加速器,例如神经网络处理器(neural processing unit,NPU)。
通信接口403使用例如收发器一类的收发模块,来实现计算设备400与其他设备或通信网络之间的通信。例如,可以通过通信接口403获取数据。
总线404可包括在计算设备400各个部件(例如,存储器401、处理器402、通信接口403)之间传送信息的通路。
随着AI技术的发展,AI技术被广泛应用于众多领域中,例如,AI技术被应用于车辆的自助驾驶和辅助驾驶领域中,具体是进行车道线识别、红绿灯识别、自动识别停车位、检测人行道等处理。这些处理总结起来可以认为是使用AI平台中的AI模型进行图像分类和/或目标检测。例如,使用AI模型确定红绿灯识别,使用AI模型识别车道线。图像分类主要用于判断图像所属的类别(即输入一帧图像,输出图像所属的类别)。目标检测可以包括两个方面,一方面用于判断属于某个特定类别的目标是否出现在图像中,另一方面是用于对目标进行定位(即确定目标出现在图像中的位置)。在进行图像分类、目标检测等应用之前,通常需要根据特定应用场景的带标签的训练图像训练一个初始AI模型,使得训练完成的AI模型具备在该特定应用场景进行图像分类或目标检测的能力。由于获取带标签的训练图像是一个非常耗时耗力的过程。本申请实施例将以图像分类和目标检测为例说明在AI平台中如何进行数据标注,可以提高数据标注的效率。
下面结合图5描述数据标注方法的具体流程,以该方法由AI平台执行为例进行说明:
步骤501,AI平台确定用户收集的未标注图像集中的多个难例和多个难例的难例属性。
其中,用户为在AI平台上注册账户的实体的用户。例如,AI模型的开发者等。未标注图像集中包括多个未标注图像。难例属性包括难例系数,难例系数为0至1之间的数,用于反映难例的难例程度(例如,通过AI模型进行分类或者检测获得正确结果的难度),难例系数越大,难例程度越高,反之难例系数越小,难例程度越低。
在本实施例中,用户可以将未标注图像集的图像设置在一个文件夹中,然后打开AI平台提供的图像的上传界面。在上传界面中包括图像的输入位置,用户可以在输入位置处添加未标注图像集的存储位置,将未标注图像集中的多个未标注图像上传至AI平台,这样,AI平台可以获取到未标注图像集。如图6所示,在该上传界面中还显示有标识(用于标记本次上传的图像)、标注类型(用于指示使用图像训练的AI模型的用途,如目标检测或图像分类等)、创建时间、图像输入位置、图像的标签集(如人、车等)、名称(如目标、物体等)、版本名称(AI模型的版本名称)、是否团队标注(如果是“否”,说明仅是由上传未标注图像的用户进行标注,如果是“是”,说明可以由包括上传未标注图像的用户在内的团队成员进行标注)等。
AI平台可以获取当前的AI模型,当前的AI模型可以是已经经过带有标签的图像进行训练的但是还需继续训练的半训练状态的AI模型。然后将未标注图像集中的多个图像输入至该AI模型中,获得未标注的多个图像的推理结果。此处若AI模型用于图像分类,则图像的推理结果为图像所属的类别,如图像为苹果的图像,则图像所属的类别为苹果。若AI模型用于目标检测,则图像的推理结果为图像中包括的目标的边界框的位置以及目标所属的类别,其中目标可以是图像中包括的物体,如车、人、猫等。若AI模型既用于图像分类,也用于目标检测,则图像的推理结果为图像所属的类别、图像中包括的目标的边界框的位置以及目标所属的类别。
AI平台根据推理结果,确定未标注图像集中的难例以及各难例的难例属性,该难例属性包括难例系数,难例系数用于描述难例的程度。具体的,AI平台可以使用时序一致性算法、基于数据特征分布算法、基于数据增强一致性算法、基于不确定性算法、基于聚类算法或基于异常检测算法中的一种或多种,确定出未标注图像集中的难例以及各难例的难例属性。在AI平台使用多种算法,确定难例以及难例属性时,不同算法的权重不相同,且不同特征的权重也不相同。
步骤502,AI平台通过显示界面显示多个难例中至少一个难例以及对应的难例属性。
在本实施例中,AI平台获得难例后,可以通过显示界面将多个难例提供给用户,用户可以通过控制显示界面,显示多个难例中至少一个难例以及对应的难例属性。
可选的,对于一个难例,难例属性可以显示在难例的任意位置。例如,场景为目标识别,难例属性中的难例系数可以显示在目标的目标框的右上角或右下角等。
步骤503,AI平台获取用户在显示界面中根据多个难例的难例系数对至少一个难例进行确认后的标注结果。
在本实施例中,用户可以在显示界面中,对AI平台提供的难例的标注,进行确认(具体包括直接确认、修改后确认等)。AI平台可以获取到对至少一个难例进行标注确认的标注结果。具体的,对于不同场景中的难例,标注结果包括不同的内容。例如,在图像分类的场景中,难例的标注结果包括图像所属的正确类别。在目标预测的场景中,难例的标注结果包括图像中目标的位置以及类别。
这样,由于AI平台可以给用户提供难例,用户仅需要标注确认难例,而不需要标注大量的未标注图像,所以可以提升标注效率,进而可以提升优化AI模型的效率。而且还为用户提供了难例属性,使用户更加了解难例,进一步提升标注效率。
在一种可能的实现方式中,难例属性还包括难例原因;其中,难例原因可以包括多种,大致可以分为数据增强不一致、数据特征分布不一致、其他原因等。
数据增强不一致用于表示对未标注图像进行某些处理后,推理结果与未处理时不一致,这些处理结果可以包括裁剪、缩放、锐化(sharpen)、翻转(水平和/或垂直翻转)、平移(translate)、加高斯噪声、错切(shear)中的一种或多种,此处仅是举例,也可以是其他处理本申请实施例不做限定。例如,图像裁剪一部分后,推理结果与裁剪前不相同,此种情况为图像裁剪增强不一致。
数据特征分布不一致用于表示未标注图像的特征与训练AI模型所用的训练图像的特征不一致,具体可以包括未标注图像分辨率与训练图像的分辨率、尺寸、亮度、清晰度、色彩饱和度、目标框的特征中一种或多种不一致。目标框的特征可以包括目标框的数量、目标框的面积、目标框的堆叠程度等。此处仅是举例,也可以是其他,本申请实施例不做限定。例如,训练图像为白天拍摄的图像,未标注图像集中的某些图像是晚上拍摄的图像,此种情况为数据特征分布(亮度特征)不一致。
其他原因可以包括时序不一致、相似图像不一致等。时序不一致指连续多张相似图片的推理结果不一致。例如,在一个视频中,相邻的3张图像中第一张图像和第三张图像均包括3个目标框,而第二张图像包括2个目标图像,说明第二张图像为难例,且难例原因为连续图像的时序不一致。相似图像不一致指未标注图像的推理结果与训练图像中同类别图像的推理结果差别较大。
难例属性中的难例原因可以显示在难例的侧面,如右侧等。
这样,由于显示出难例原因,使用户可以明确图像为何是难例,以使用户采取相应的措施,减少难例。例如,某个难例的难例原因为图像亮度不符合分布,用户可以在训练图像中添加与该难例亮度相同与相似的图像。
在一种可能的实现方式中,AI平台通过显示界面显示至少一个难例的难例原因对应的建议信息。
其中,建议信息用于反映减少相应难例原因的难例可以进行的处理方式。例如,某个难例的难例原因为连续图像不一致,对应的建议信息为“重新标注,并增加与该难例类似的图像”。某个难例的难例原因诶图像裁剪增强,说明AI模型对该难例的泛化能力不够强,建议信息为“重新标注,并对该难例进行裁剪”,增加AI模型的泛化能力。某个难例的难例原因为难例的亮度不符合训练图像的亮度分布,说明大概率AI模型未对该难例的亮度的图像学习过,建议信息为“重新标注,并增加这种亮度的图像”,从而使模型的泛化能力更强。
在本实施例中,AI平台可以还可以通过显示界面显示至少一个难例的难例原因对应的建议信息,难例原因与建议信息对应显示。这样,为用户提供更直观的建议信息,使用户采用相应的措施,进而可以使训练的AI模型更准确。
可选的,难例原因与建议信息可以显示在难例的侧面,如右侧等。
在一种可能的实现方式中,难例属性还包括难例类型,在目标识别场景中,难例类型可以反映目标框的类型,难例类型可以使用1、2、3表示,其中,1表示目标框为正常框,是AI平台分析出这个框大概率是预测正确的框。2表示目标框是误检框,是AI平台分析出这个框可能是位置或者标签出错,用户调整时需要特别关注。3表示目标框是漏检框,是AI平台分析出这个框可能模型漏检,用户调整时需要特别关注。
可选的,某些开源数据集中某些图像已经有原始标注,本实施例中,还可以在存在原始标注的图像中挖掘难例,此时若存在难例的原始标注不准确,则难例类型还可以使用0表示,0表示原始标注不准确。
可选的,在显示难例类型时,AI平台在显示难例时,为不同难例类型对应不同的显示颜色或者为不同难例类型对应不同的显示线条。例如,红色为误检框、黄色为漏检框、蓝色为正常框。
在一种可能的实现方式中,AI平台在通过显示界面显示难例时,用户可以筛选某些难例进行显示,或者用户控制难例按照一定顺序进行显示,处理如下:
AI平台获取用户在显示界面选择的难例系数的筛选范围和/或显示顺序;根据难例系数的筛选范围和/或显示顺序,通过显示界面显示至少一个难例以及对应的难例属性。
在本实施例中,AI平台提供的难例显示界面中包括排序选项、难例系数选择选项等,排序选项用于用户控制难例的显示顺序,难例系数选择选项用于用户基于难例系数筛选某些难例进行显示。用户可以在排序选项对应的选项栏中选择显示顺序,显示顺序包括难例系数从高到低的顺序、难例系数从低到高的顺序等。难例系数选择选项使用滑动条表示,用户可以拖到滑动条上的滑块,选择筛选范围,难例系数选择选项也可以使用难例系数范围输入框表示。AI平台检测到用户的选择后,AI平台可以通过显示界面显示难例系数的筛选范围和/或显示顺序对应的难例以及难例属性。
另外,在用户选择难例系数从高到低的顺序时,还会显示出提示信息“若选择难例从高到低的顺序进行标注,则代表对模型预测出错的数据进行先标注,用户需要调整的量比较大,但是这些数据大部分是上一轮AI模型未识别的,先标注这些数据,可以加快AI模型迭代速度,AI模型准确度快速提升”。在用户选择难例系数从低到高的顺序时,还会显示出提示信息“若选择难例从低到高的顺序进行标注,这些数据大部分是AI模型上一轮已经能够识别的,这些数据中用户的调整量少,但是AI模型的迭代速度较慢”。
另外,AI平台还可以提示“用户可以根据当前的精力有选择的标注难例或者非难例(非难例是指AI模型大概率能预测正确的数据,标注这些数据的改动量比较少),或者根据难例系数选择当前需要标注的难例”。
在一种可能的实现方式中,AI平台还可以显示多个难例的统计信息,处理可以为:
在至少一个难例为多个难例时,AI平台通过显示界面显示未标注图像集对应的统计信息,其中,统计信息包括未标注图像集中非难例和难例的分布信息、未标注图像集中各难例原因的难例分布信息、未标注图像集中各难例系数范围的难例分布信息或未标注图像集中各难例类型的难例分布信息中的一种或多种。
在本实施例中,AI平台在显示未标注图像集中的多个难例时,AI平台可以确定未标注图像集对应的统计信息。具体的,AI平台可以确定为标注集图像中非难例和难例的分布信息,并且可以确定未标注图像集中各难例原因的难例分布信息,并且还可以确定未标注图像集中各难例系数范围的难例分布信息,难例系数范围可以预设,如难例系数范围包括0~0.3、0.3~0.6、0.6~1。并且AI平台还可以确定未标注图像集中各难例类型的难例分布信息。
AI平台可以通过显示界面显示确定出的统计信息。这样,由于统计信息包括未标注图像集中非难例和难例的分布信息,所以用户可以看到难例占未标注图像集的比例,进而可以确定出AI模型的推理性能是否满足要求,难例占未标注图像集的比例越小,AI模型的推理性能越好。由于统计信息包括未标注图像集中各难例原因的难例分布信息,所以在某些难例原因的图像比较多时,用户可以重点添加这些难例原因的图像,使快速的优化AI模型。由于统计信息包括未标注图像集中各难例系数范围的难例分布信息,所以用户可以了解难例分布情况。由于统计信息包括未标注图像集中各难例类型的难例分布信息,所以用户可以了解未标注图像集中难例在难例类型的分布情况。
在一种可能的实现方式中,在步骤502中,处理为:AI平台根据难例挖掘算法,确定用户收集的未标注图像集中的多个难例和多个难例的难例属性。
在本实施例中,难例挖掘算法包括时序一致性算法、基于数据特征分布算法、基于数据增强一致性算法、基于不确定性算法、基于聚类算法或基于异常检测算法中的一种或多种。AI平台可以将未标注图像的推理结果,输入至难例挖掘算法中,获得未标注图像集中的多个难例和多个难例的难例属性。
在一种可能的实现方式中,AI平台在获取到用户对难例的确认后的标注结果,可以对难例挖掘算法进行更新,处理为:
在用户提供的标注结果中,若至少一个难例中目标难例被确认为正确难例,则AI平台增加目标难例的难例原因对应的权重;在标注结果中,若目标难例被确认为不正确难例,则AI平台降低目标难例的难例原因对应的权重;根据更新后的权重以及标注结果,对难例挖掘算法进行更新。
其中,正确难例指用户认为难例挖掘算法挖掘出的难例中是难例的难例。不正确难例指用户认为难例挖掘算法挖掘出的难例中不是难例的难例。
在本实施例中,AI平台在获取到用户提供的标注结果后,可以获取难例挖掘算法中至少一个难例的难例原因对应的权重。若至少一个难例中目标难例被确认为正确难例,则AI平台可以增加目标难例的难例原因对应的权重,该权重为该难例原因在难例挖掘算法中的权重。若至少一个难例中目标难例被确认为不正确难例,则AI平台可以降低目标难例的难例原因对应的权重,该权重为该难例原因在难例挖掘算法中的权重。
然后AI平台使用用户提供的标注结果和更新后的各难例原因的权重,对难例挖掘算法进行更新。这样,由于调整难例原因的权重,所以可以使更新后的难例挖掘算法挖掘出的难例更准确,减少标注量。
另外,本实施例中,还可以使用用户标注确认后的难例,对AI模型进行更新,优化AI模型,使AI模型提供的推理结果更准确。
另外,本实施例中,用户对难例进行标注确认后,经过标注确认的难例会同步至已标注图像集中。另外,AI平台还可以根据用户的标注确认,将用户待确认的难例集转变为已标注的难例集,或者已标注的非难例集,或者未标注的难例集,未标注的非难例集。例如,若某个图像有标注信息,其中一个目标框被用户确认为漏检框或者误检框,那么AI平台会将该图像存储至已标注的难例集中。
另外,本实施例中,AI平台还提供了导出难例以及难例属性的处理。用户可以在导出难例的界面,选择难例以及难例属性的保存路径,导出难例以及难例属性。如图7所示,导出难例的界面包括保存路径、导出范围(可以包括导出当前选中样本(即选中的难例)、导出当前筛选条件下所有样本)。另外,还导出难例的界面中还包括开启难例属性的选项,若开启难例属性的选项被选择,则导出难例时还导出难例属性,若未选择开启难例属性的选项时,则导出难例时,不导出难例属性,同时,对应开启难例属性还对应有开启难例属性的建议:建议开启难例属性,难例系数0至1,难例系数越小,说明准确率越高等。另外对应开始难例属性还给出了难例类型。
另外,在一种可能的实现方式中,在步骤501中,当前的AI模型可以是初始AI模型,AI平台可以向用户提供标注选择界面,标注选择界面上包括用户可选择的至少一种标注方式,AI平台可以接收用户选择的标注方式,使用该标注方式对应的初始AI模型,确定未标注图像集的推理结果。具体的,如图8所示,标注选择界面中提供多种标注方式可以包括主动学习方式和预标注方式。主动学习方式下AI平台的处理为:AI平台首先使用用户提供的带标注的多个图像训练构建的AI模型,得到初始AI模型。然后基于初始AI模型标注未标注图像集,获得未标注图像集的推理结果。预标注方式下AI平台的处理为:AI平台直接获取已有的初始AI模型,基于初始AI模标注未标注图像集,获得未标注图像集的推理结果。另外,在标注选择界面中还显示有全部的图像的数目、未标注的图像的数目、带标注的图像的数目、待确认的数目(待确认指待用户确认难例的数目)。其中,用户提供的带标注的多个图像可以由用户通过AI平台标注,该多个图像由AI平台使用数据选取算法在用户上传的未标注图像中选择,具体为:在用户选择自己标注未标注的图像时,用户可以确定自己所要训练的AI模型是用于图像分类的场景中,还是用于目标检测的场景中,还是用户图像分类和目标检测结合的场景中。若所要训练的AI模型应用于图像分类的场景中,则启动AI平台提供图像分类的场景的图像标注界面。若所要训练的AI模型应用于目标检测的场景中,则启动AI平台提供的目标检测的场景的图像标注界面。在目标检测的场景的图像标注界面中,提供了选择图像、边界框、返回键、放大图像、缩小图像等选项,用户可以通过选择图像选项,打开一帧图像。然后在该图像中,使用边界框标注目标,并为目标添加标注,标注可以包括边界框中目标的类别、边界框在图像中的位置(由于边界框一般的矩形,所以位置可以使用左上角和右下角的位置坐标标识)。在用户使用边界框标注目标后,AI平台则会获得目标的边界框,图像标注界面中还可以显示出该图像的标注信息栏。在标注信息栏显示有用户已经标注的目标的信息,包括标注、边界框和操作,标注用于指示目标所属的类别,边界框用于指示所使用的框的形状,操作包括删除和修改选项。用户可以通过操作对该图像中已添加的标注进行修改。
为了更好的理解本申请实施例中,本申请实施例中,提供了AI平台通过显示界面显示多个难例示意图:
如图9所示(图中0.8、0.9等表示难例系数),显示界面中显示有筛选条件,筛选条件对应的内容,具体筛选条件可以包括数据属性、难例集、排序和难例系数。在筛选条件为难例时,在筛选条件的下方显示难例,并显示每个难例的难例系数。在筛选条件的右侧显示难例的定义,未标注图像集的统计信息,统计信息包括未标注图像集中难例与非难例分布信息和各难例原因的难例的分布信息,难例原因与对应的建议信息。难例原因与建议信息可以使用表格表示,但是不限于此种方式。各难例原因的难例的分布信息使用柱形图表示,但是不限于此种方式。未标注图像集中难例与非难例分布信息使用饼图表示,但是不限于此种方式。
另外,为了更好的理解本申请实施例中,本申请实施例中,提供了AI平台通过显示界面显示一个难例示意图:
如图10所示,显示界面中显示有用户当前要进行标注确认的难例,并且对应该难例显示有难例类型、难例系数、难例原因、建议信息,并且显示界面中对应每个目标框还显示有标注确认的操作。如标注为“人”标注框为方框,操作有删除和修改两种操作。
并且在图10中,为了方便用户选择难例进行标注确认,在当前标注确认的难例的下方显示有多个难例,用户可以直接点击下方显示的难例进行难例的切换。
另外,本申请中,为了更好的理解本实施例还提供了如图11所示的流程框图:
首先获取一个AI模型,该AI模型可以是已经训练好的模型,也可以是基于用户对部分无标签数据进行标注后,基于标注的图像进行训练获得的。AI模型对未标注图像集进行推理,获得未标注图像集的推理结果,AI平台使用难例挖掘算法,确定未标注图像集中的难例以及难例属性。AI平台将难例以及难例属性提供给用户,用户对难例进行标注确认,基于用户的标注确认的标注结果,更新难例挖掘算法和AI模型。
本申请实施例中,通过难例属性,使用户对难例数据加以理解,同时提供针对性的建议,减少标注成本的同时,还可以提升AI模型的推理性能。而且本申请将AI平台与用户的行为形成一个人机交互系统,AI平台确定未标注图像集的推理结果,AI平台中的难例挖掘算法确定未标注图像集中的难例以及难例属性,提供给用户。AI平台引导用户对难例进行标注确认,AI平台使用用户反馈的标注结果,对难例挖掘算法和AI模型进行更新。
需要说明的是,上述提供数据标注的方法可以由AI平台100上的一个或多个模块共同实现,具体的,难例挖掘模块,用于实现图5中的步骤502。用户I/O模块,用于实现图5中步骤502和步骤503,以及实现上述关于显示统计信息的内容。模型训练模块用于实现上述对难例挖掘算法的更新处理。
本申请另一实施例,如图12所示,提供了一种难例挖掘算法更新的方法,该方法的流程为:
步骤1201,AI平台利用难例挖掘算法确定未标注图像集中的多个难例。
步骤1202,AI平台通过显示界面向用户显示多个难例中的至少一个难例。
步骤1201和步骤1202可参见前文中的描述,此处不再赘述。
步骤1203,AI平台根据用户通过显示界面对至少一个难例进行确认后的标注结果,对难例挖掘算法进行更新。
在本实施例中,AI平台在获取到用户通过显示界面对至少一个难例进行确认后的标注结果后,可以基于该标注结果,对难例挖掘算法进行更新,使得难例预测的准确率越来越高。
具体的,步骤1201可以由前文中难例挖掘模块执行,步骤1202可以由前文中用户I/O模块执行,步骤1203可以由模型训练模块执行。
在一种可能的实现方式中,步骤1203的处理可以为:
AI平台为至少一个难例中每个难例的难例原因获取权重;分析标注结果,若至少一个难例中的目标难例被用户确认为正确难例,则增加目标难例的难例原因对应的权重;在标注结果中,若目标难例被用户确认为不正确难例,则降低目标难例的难例原因对应的权重;根据更新后的权重,对难例挖掘算法进行更新。
此处理过程可参见前文中的描述,此处不再赘述。
在一种可能的实现方式中,AI平台利用难例挖掘算法确定多个难例的难例原因,通过显示界面向用户提供难例原因对应的建议信息,其中,建议信息指示减少相应难例原因的难例可以进行的处理方式。
在一种可能的实现方式中,AI平台通过显示界面显示至少一个难例对应的难例属性,难例属性包括难例系数、难例原因、难例类型中的一种或多种。
在前文中已经描述如何显示难例以及难例属性等内容,可参见前文中的描述,此处不再赘述。
图13是本申请实施例提供的数据标注的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为前述AI平台中的部分或者全部。本申请实施例提供的数据标注的装置可以实现本申请实施例图5所述的流程,该装置包括:难例挖掘模块1310和用户I/O模块1320,其中:
难例挖掘模块1310,用于确定未标注图像集中的多个难例和所述多个难例的难例属性,其中,所述难例属性包括难例系数,具体可以用于实现步骤501中的难例挖掘功能以及执行步骤501包含的隐含步骤;
用户I/O模块1320,用于:
通过显示界面向用户显示所述多个难例中至少一个难例以及对应的难例属性;
获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果,具体可以用于实现步骤502和步骤503中的用户I/O功能以及执行步骤502和步骤503包含的隐含步骤。
在一种可能的实现方式中,所述难例属性还包括难例原因;
所述用户I/O模块1320,还用于:
通过所述显示界面显示所述至少一个难例对应的难例原因以及所述难例原因对应的建议信息;
其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。
在一种可能的实现方式中,所述难例属性还包括难例类型,所述难例类型包括误检、漏检或预测正常。
在一种可能的实现方式中,所述用户I/O模块1320,还用于:
通过所述显示界面用不同显示颜色或者不同显示线条显示不同的难例类型。
在一种可能的实现方式中,难例挖掘模块1310,用于:
根据难例挖掘算法,确定所述未标注图像集中的多个难例和所述多个难例的难例属性。
在一种可能的实现方式中,如图14所示,所述装置还包括模型训练模块1330,用于:
获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果之后,为所述至少一个难例中每个难例的难例原因获取权重;
分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;
若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;
根据更新后的权重,对所述难例挖掘算法进行更新。
在一种可能的实现方式中,所述用户I/O模块1320,用于:
获取用户在所述显示界面选择的难例系数的筛选范围和/或显示顺序;
根据所述难例系数的筛选范围和/或显示顺序,通过所述显示界面显示所述至少一个难例以及对应的难例属性。
在一种可能的实现方式中,所述用户I/O模块1320,还用于:
在所述至少一个难例为所述多个难例时,通过所述显示界面显示所述未标注图像集对应的统计信息,其中,所述统计信息包括所述未标注图像集中非难例和难例的分布信息、所述未标注图像集中各难例原因的难例分布信息、所述未标注图像集中各难例系数范围的难例分布信息或所述未标注图像集中各难例类型的难例分布信息中的一种或多种。
可选的,图13和图14所示的装置还可以用于执行前述数据标注的方法实施例中描述的其他动作,此处不再赘述。
需要说明的是,上述图13和图14所示的装置可以是图1所示的AI平台的一部分。
图15是本申请实施例提供的数据标注的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为AI平台中的部分或者全部。本申请实施例提供的数据标注的装置可以实现本申请实施例图12所述的流程,该装置包括:难例挖掘模块1510、用户I/O模块1520和模型训练模块1530,其中:
难例挖掘模块1510,用于利用难例挖掘算法确定未标注图像集中的多个难例,具体可以用于实现步骤1201中的难例挖掘功能以及执行步骤1201包含的隐含步骤;
用户I/O模块1520,用于通过显示界面向用户显示所述多个难例中的至少一个难例,具体可以用于实现步骤1202中的用户I/O功能以及执行步骤1202包含的隐含步骤;
模型训练模块1530,用于根据所述用户通过所述显示界面对所述至少一个难例进行确认后的标注结果,对所述难例挖掘算法进行更新,具体可以用于实现步骤1203中的模型训练功能以及执行步骤1203包含的隐含步骤。
在一种可能的实现方式中,所述难例挖掘模块1510,还用于:
利用所述难例挖掘算法确定所述多个难例的难例原因;
所述用户I/O模块1520,还用于通过所述显示界面向所述用户提供所述难例原因对应的建议信息,其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。
在一种可能的实现方式中,所述模型训练模块1530,用于:
为所述至少一个难例中每个难例的难例原因获取权重;
分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;
若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;
根据所述更新后的权重,对所述难例挖掘算法进行更新。
在一种可能的实现方式中,所述用户I/O模块1520,用于:
通过所述显示界面显示所述至少一个难例对应的难例属性,所述难例属性包括难例系数、难例原因、难例类型中的一种或多种。
可选的,图15所示的装置还可以用于执行前述难例挖掘算法更新的方法实施例中描述的其他动作,此处不再赘述。
需要说明的是,上述图15所示的装置可以是图1所示的AI平台的一部分。
本申请还提供一种如图4所示的计算设备400,计算设备400中的处理器402读取存储器401存储的程序和图像集合以执行前述AI平台执行的方法。
由于本申请提供的AI平台100中的各个模块可以分布式地部署在同一环境或不同环境中的多个计算机上,因此,本申请还提供一种如图16所示的计算设备,该计算设备包括多个计算机1600,每个计算机1600包括存储器1601、处理器1602、通信接口1603以及总线1604。其中,存储器1601、处理器1602、通信接口1603通过总线1604实现彼此之间的通信连接。
存储器1601可以是只读存储器,静态存储设备,动态存储设备或者随机存取存储器。存储器1601可以存储程序,当存储器1601中存储的程序被处理器502执行时,处理器1602和通信接口1603用于执行AI平台为获取AI模型的部分方法。存储器还可以存储图像集合,例如:存储器1601中的一部分存储资源被划分成一个图像集存储模块,用于存储AI平台所需的图像集,存储器1601中的一部分存储资源被划分成一个AI模型存储模块,用于存储AI模型库。
处理器1602可以采用通用的中央处理器,微处理器,应用专用集成电路,图形处理器或者一个或多个集成电路。
通信接口1603使用例如但不限于收发器一类的收发模块,来实现计算机1600与其他设备或通信网络之间的通信。例如,可以通过通信接口1603获取图像集。
总线504可包括在计算机1600各个部件(例如,存储器1601、处理器1602、通信接口1603)之间传送信息的通路。
上述每个计算机1600间通过通信网络建立通信通路。每个计算机1600上运行用户I/O模块101、难例挖掘模块102、模型训练模块103、推理模块104、AI模型存储模块105、数据存储模块106和数据预处理模块107中的任意一个或多个。任一计算机1600可以为云数据中心中的计算机(例如:服务器),或边缘数据中心中的计算机,或终端计算设备。
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件或者其组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供AI平台的计算机程序产品包括一个或多个进AI平台的计算机指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地产生按照本申请实施例图5所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、双绞线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质存储有提供AI平台的计算机程序指令。所述计算机可读存储介质可以是计算机能够存取的任何介质或者是包含一个或多个介质集成的服务器、数据中心等数据存储设备。所述介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,光盘)、或者半导体介质(例如SSD)。

Claims (26)

1.一种数据标注的方法,其特征在于,所述方法包括:
确定未标注图像集中的多个难例和所述多个难例的难例属性,其中,所述难例属性包括难例系数;
通过显示界面向用户显示所述多个难例中至少一个难例以及对应的难例属性;
获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果。
2.根据权利要求1所述的方法,其特征在于,所述难例属性还包括难例原因;
所述通过显示界面显示所述多个难例中至少一个难例以及对应的难例属性,还包括:
通过所述显示界面显示所述至少一个难例对应的难例原因以及所述难例原因对应的建议信息;
其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。
3.根据权利要求1或2所述的方法,其特征在于,所述难例属性还包括难例类型,所述难例类型包括误检、漏检或预测正常。
4.根据权利要求3所述的方法,其特征在于,所述通过显示界面显示所述多个难例中至少一个难例以及对应的难例属性,还包括:
通过所述显示界面用不同显示颜色或者不同显示线条显示不同的难例类型。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述确定未标注图像集中的多个难例和所述多个难例的难例属性,包括:
根据难例挖掘算法,确定所述未标注图像集中的多个难例和所述多个难例的难例属性。
6.根据权利要求5所述的方法,其特征在于,所述获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果之后,还包括:
为所述至少一个难例中每个难例的难例原因获取权重;
分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;
若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;
根据更新后的权重,对所述难例挖掘算法进行更新。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述通过显示界面向用户显示所述多个难例中至少一个难例以及对应的难例属性,包括:
获取用户在所述显示界面选择的难例系数的筛选范围和/或显示顺序;
根据所述难例系数的筛选范围和/或显示顺序,通过所述显示界面显示所述至少一个难例以及对应的难例属性。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
在所述至少一个难例为所述多个难例时,通过所述显示界面显示所述未标注图像集对应的统计信息,其中,所述统计信息包括所述未标注图像集中非难例和难例的分布信息、所述未标注图像集中各难例原因的难例分布信息、所述未标注图像集中各难例系数范围的难例分布信息或所述未标注图像集中各难例类型的难例分布信息中的一种或多种。
9.一种难例挖掘算法更新的方法,其特征在于,所述方法包括:
利用难例挖掘算法确定未标注图像集中的多个难例;
通过显示界面向用户显示所述多个难例中的至少一个难例;
根据所述用户通过所述显示界面对所述至少一个难例进行确认后的标注结果,对所述难例挖掘算法进行更新。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
利用所述难例挖掘算法确定所述多个难例的难例原因,通过所述显示界面向所述用户提供所述难例原因对应的建议信息,其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。
11.根据权利要求10所述的方法,其特征在于,所述根据所述用户通过所述显示界面对所述至少一个难例进行确认后的标注结果,对所述难例挖掘算法进行更新,包括:
为所述至少一个难例中每个难例的难例原因获取权重;
分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;
在所述标注结果中,若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;
根据所述更新后的权重,对所述难例挖掘算法进行更新。
12.根据权利要求9至11任一项所述的方法,其特征在于,所述方法还包括:
通过所述显示界面显示所述至少一个难例对应的难例属性,所述难例属性包括难例系数、难例原因、难例类型中的一种或多种。
13.一种数据标注的装置,其特征在于,所述装置包括:
难例挖掘模块,用于确定未标注图像集中的多个难例和所述多个难例的难例属性,其中,所述难例属性包括难例系数;
用户输入/输出I/O模块,用于:
通过显示界面向用户显示所述多个难例中至少一个难例以及对应的难例属性;
获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果。
14.根据权利要求13所述的装置,其特征在于,所述难例属性还包括难例原因;
所述用户I/O模块,还用于:
通过所述显示界面显示所述至少一个难例对应的难例原因以及所述难例原因对应的建议信息;
其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。
15.根据权利要求13或14所述的装置,其特征在于,所述难例属性还包括难例类型,所述难例类型包括误检、漏检或预测正常。
16.根据权利要求15所述的装置,其特征在于,所述用户I/O模块,还用于:
通过所述显示界面用不同显示颜色或者不同显示线条显示不同的难例类型。
17.根据权利要求13至16任一项所述的装置,其特征在于,所述难例挖掘模块,具体用于:
根据难例挖掘算法,确定所述未标注图像集中的多个难例和所述多个难例的难例属性。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括模型训练模块,用于:
获取所述用户在所述显示界面中根据所述多个难例的难例系数对所述至少一个难例进行确认后的标注结果之后,为所述至少一个难例中每个难例的难例原因获取权重;
分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;
若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;
根据更新后的权重,对所述难例挖掘算法进行更新。
19.根据权利要求13至18任一项所述的装置,其特征在于,所述用户I/O模块,用于:
获取用户在所述显示界面选择的难例系数的筛选范围和/或显示顺序;
根据所述难例系数的筛选范围和/或显示顺序,通过所述显示界面显示所述至少一个难例以及对应的难例属性。
20.根据权利要求13至19任一项所述的装置,其特征在于,所述用户I/O模块,还用于:
在所述至少一个难例为所述多个难例时,通过所述显示界面显示所述未标注图像集对应的统计信息,其中,所述统计信息包括所述未标注图像集中非难例和难例的分布信息、所述未标注图像集中各难例原因的难例分布信息、所述未标注图像集中各难例系数范围的难例分布信息或所述未标注图像集中各难例类型的难例分布信息中的一种或多种。
21.一种难例挖掘算法更新的装置,其特征在于,所述装置包括:
难例挖掘模块,用于利用难例挖掘算法确定未标注图像集中的多个难例;
用户输入/输出I/O模块,用于通过显示界面向用户显示所述多个难例中的至少一个难例;
模型训练模块,用于根据所述用户通过所述显示界面对所述至少一个难例进行确认后的标注结果,对所述难例挖掘算法进行更新。
22.根据权利要求21所述的装置,其特征在于,
所述难例挖掘模块,还用于:
利用所述难例挖掘算法确定所述多个难例的难例原因;
所述用户I/O模块,还用于:
通过所述显示界面向所述用户提供所述难例原因对应的建议信息,其中,所述建议信息指示减少相应难例原因的难例可以进行的处理方式。
23.根据权利要求21所述的装置,其特征在于,所述模型训练模块,用于:
为所述至少一个难例中每个难例的难例原因获取权重;
分析所述标注结果,若所述至少一个难例中的目标难例被所述用户确认为正确难例,则增加所述目标难例的难例原因对应的权重;
若所述目标难例被所述用户确认为不正确难例,则降低所述目标难例的难例原因对应的权重;
根据所述更新后的权重,对所述难例挖掘算法进行更新。
24.根据权利要求21至23任一项所述的装置,其特征在于,所述用户I/O模块,用于:
通过所述显示界面显示所述至少一个难例对应的难例属性,所述难例属性包括难例系数、难例原因、难例类型中的一种或多种。
25.一种计算设备,其特征在于,所述计算设备包括存储器和处理器,所述存储器用于存储一组计算机指令;
所述处理器执行所述存储器存储的一组计算机指令,以执行上述权利要求1至12中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被计算设备执行时,所述计算设备执行上述权利要求1至12中任一项所述的方法。
CN202010605206.2A 2020-06-29 2020-06-29 数据标注的方法、装置、计算设备和存储介质 Pending CN113935389A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010605206.2A CN113935389A (zh) 2020-06-29 2020-06-29 数据标注的方法、装置、计算设备和存储介质
EP21832513.2A EP4163822A4 (en) 2020-06-29 2021-05-25 APPARATUS AND METHOD FOR DATA ANNOTATION, AND COMPUTER DEVICE AND RECORDING MEDIUM
PCT/CN2021/095735 WO2022001501A1 (zh) 2020-06-29 2021-05-25 数据标注的方法、装置、计算设备和存储介质
US18/147,602 US20230137533A1 (en) 2020-06-29 2022-12-28 Data labeling method and apparatus, computing device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010605206.2A CN113935389A (zh) 2020-06-29 2020-06-29 数据标注的方法、装置、计算设备和存储介质

Publications (1)

Publication Number Publication Date
CN113935389A true CN113935389A (zh) 2022-01-14

Family

ID=79272943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010605206.2A Pending CN113935389A (zh) 2020-06-29 2020-06-29 数据标注的方法、装置、计算设备和存储介质

Country Status (4)

Country Link
US (1) US20230137533A1 (zh)
EP (1) EP4163822A4 (zh)
CN (1) CN113935389A (zh)
WO (1) WO2022001501A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114418021A (zh) * 2022-01-25 2022-04-29 腾讯科技(深圳)有限公司 模型优化方法、装置及计算机程序产品
CN114676790A (zh) * 2022-04-12 2022-06-28 北京百度网讯科技有限公司 对象标注、模型的处理方法、装置、设备及存储介质
CN114882472A (zh) * 2022-05-17 2022-08-09 安徽蔚来智驾科技有限公司 一种车位检测方法、计算机可读存储介质及车辆
CN116610868A (zh) * 2023-07-13 2023-08-18 支付宝(杭州)信息技术有限公司 样本标注方法、端边云协同训练方法及装置
WO2023179038A1 (zh) * 2022-03-24 2023-09-28 华为云计算技术有限公司 数据标注的方法、ai开发平台、计算设备集群和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463954B (zh) * 2017-07-21 2019-10-25 华中科技大学 一种模糊异谱图像的模板匹配识别方法
CN108121986B (zh) * 2017-12-29 2019-12-17 深圳云天励飞技术有限公司 目标检测方法及装置、计算机装置和计算机可读存储介质
CN108596184B (zh) * 2018-04-25 2021-01-12 清华大学深圳研究生院 图像语义分割模型的训练方法、可读存储介质及电子设备
US20210125004A1 (en) * 2018-06-07 2021-04-29 Element Ai Inc. Automated labeling of data with user validation
US10936922B2 (en) * 2018-06-20 2021-03-02 Zoox, Inc. Machine learning techniques
CN110610197B (zh) * 2019-08-19 2022-09-27 北京迈格威科技有限公司 一种困难样本挖掘和模型训练方法、装置和电子设备
CN117893845A (zh) * 2019-09-17 2024-04-16 华为云计算技术有限公司 提供ai模型的方法、ai平台、计算设备及存储介质
CN111275044A (zh) * 2020-02-21 2020-06-12 西北工业大学 基于样本选择和自适应难例挖掘的弱监督目标检测方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114418021A (zh) * 2022-01-25 2022-04-29 腾讯科技(深圳)有限公司 模型优化方法、装置及计算机程序产品
CN114418021B (zh) * 2022-01-25 2024-03-26 腾讯科技(深圳)有限公司 模型优化方法、装置及计算机程序产品
WO2023179038A1 (zh) * 2022-03-24 2023-09-28 华为云计算技术有限公司 数据标注的方法、ai开发平台、计算设备集群和存储介质
CN114676790A (zh) * 2022-04-12 2022-06-28 北京百度网讯科技有限公司 对象标注、模型的处理方法、装置、设备及存储介质
CN114882472A (zh) * 2022-05-17 2022-08-09 安徽蔚来智驾科技有限公司 一种车位检测方法、计算机可读存储介质及车辆
CN116610868A (zh) * 2023-07-13 2023-08-18 支付宝(杭州)信息技术有限公司 样本标注方法、端边云协同训练方法及装置
CN116610868B (zh) * 2023-07-13 2023-09-29 支付宝(杭州)信息技术有限公司 样本标注方法、端边云协同训练方法及装置

Also Published As

Publication number Publication date
EP4163822A4 (en) 2023-12-20
EP4163822A1 (en) 2023-04-12
WO2022001501A1 (zh) 2022-01-06
US20230137533A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
CN112529026B (zh) 提供ai模型的方法、ai平台、计算设备及存储介质
JP6944548B2 (ja) 自動コード生成
US10635979B2 (en) Category learning neural networks
CN113935389A (zh) 数据标注的方法、装置、计算设备和存储介质
WO2021136365A1 (zh) 基于机器学习模型的应用开发方法、装置及电子设备
WO2020182121A1 (zh) 表情识别方法及相关装置
US11823443B2 (en) Segmenting objects by refining shape priors
KR102532749B1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
WO2022022233A1 (zh) Ai模型更新的方法、装置、计算设备和存储介质
US11887215B2 (en) Image processing apparatus and method for style transformation
US11335093B2 (en) Visual tracking by colorization
CN111797769B (zh) 一种小目标敏感的车辆检测系统
US20230127525A1 (en) Generating digital assets utilizing a content aware machine-learning model
US11468571B2 (en) Apparatus and method for generating image
KR20190119686A (ko) 코드 생성 장치 및 방법
US20220270341A1 (en) Method and device of inputting annotation of object boundary information
EP4220555A1 (en) Training method and apparatus for image segmentation model, image segmentation method and apparatus, and device
CN107948721A (zh) 推送信息的方法和装置
Kar Mastering Computer Vision with TensorFlow 2. x: Build advanced computer vision applications using machine learning and deep learning techniques
CN117253099A (zh) 影像数据扩增装置以及方法
US20210398025A1 (en) Content Classification Method
CN112668643A (zh) 一种基于格式塔法则的半监督显著性检测方法
KR102636461B1 (ko) 인공지능 모델 학습을 위한 오토 레이블링 자동화 방법, 장치 및 시스템
Sarnovský et al. Use of deep learning to automate the annotation of USG lung image data
Li et al. Research of status recognition of Fiber transfer box based on machine vision and deep learning

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: 20220214

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.