CN112348846A - 图像序列上对象检测和跟踪的人工智能驱动基准真值生成 - Google Patents
图像序列上对象检测和跟踪的人工智能驱动基准真值生成 Download PDFInfo
- Publication number
- CN112348846A CN112348846A CN202010788097.2A CN202010788097A CN112348846A CN 112348846 A CN112348846 A CN 112348846A CN 202010788097 A CN202010788097 A CN 202010788097A CN 112348846 A CN112348846 A CN 112348846A
- Authority
- CN
- China
- Prior art keywords
- annotation
- annotations
- frame
- image data
- task
- 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
Links
- 238000013473 artificial intelligence Methods 0.000 title abstract description 49
- 238000001514 detection method Methods 0.000 title abstract description 9
- 238000012550 audit Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 57
- 238000012552 review Methods 0.000 claims description 50
- 238000010801 machine learning Methods 0.000 claims description 45
- 238000012549 training Methods 0.000 claims description 37
- 241001465754 Metazoa Species 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 11
- 230000004807 localization Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 2
- 238000012937 correction Methods 0.000 claims 6
- 230000008569 process Effects 0.000 description 32
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 6
- 238000002372 labelling Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 241000282412 Homo Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 238000003908 quality control method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000004093 Mitragyna parvifolia Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004393 prognosis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- 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/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/945—User interactive design; Environments; Toolboxes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了图像序列上对象检测和跟踪的人工智能驱动基准真值生成。存储装置维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释。处理器针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型;根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释;基于关键帧的注释的置信水平,选择审查关键帧;针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型;以及根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
Description
技术领域
本公开涉及用于图像序列上的对象检测和跟踪的人工智能(AI)驱动的基准真值(ground truth)生成的方面。
背景技术
与公共数据集中使用的注释原型相比,安全关键系统中使用的基准真值通常要求在几何形状注释和复杂属性方面的高精度。例如,公共数据集中使用的行人注释原型要求松散的边界框来覆盖行人的可见部分。然而,用于安全关键系统的注释通常要求具有像素级准确度的估计边界框连同身体中心线和附加属性,诸如身体姿势和头部角度。由于这种复杂性和冗长的要求连同各种场景,对于人类注释者而言知道注释任务所需要的所有要求花费太久。由于理解要求的高学习曲线,这妨碍注释者数量的向外扩展。此外,纯人类注释的高成本是对产生大量注释数据的障碍,产生大量注释数据是对数据驱动的机器学习算法(诸如深度学习)的先决条件。
发明内容
在一个或多个说明性示例中,一种用于在图像序列中进行对象标识、定位和跟踪的人机协作的高精度基准真值数据生成的系统包括:用户接口;存储装置,其被配置为维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释;以及与存储装置和用户接口进行通信的处理器。处理器被编程为针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型;根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释;基于关键帧的注释的置信水平,选择审查关键帧;针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型;以及根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
在一个或多个说明性示例中,一种用于在图像序列中进行对象标识、定位和跟踪的人机协作的高精度基准真值数据生成的方法包括:维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释,所述对象包括行人、骑行者、动物、车辆、室内环境中的动物和移动对象中的一个或多个,所述注释包括对象周围的几何形状、对象的中心线或对象的行进方向中的一个或多个;针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型,所述任务类型包括纯人类注释任务类型、AI交互任务类型或具有机器学习预标注的人类任务的任务类型之一,所述代理类型包括具有平均注释技能的工人、具有专家技能的工人或使用机器学习模型的机器之一;根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释;基于关键帧的注释的置信水平,选择审查关键帧;针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型;以及根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
在一个或多个说明性示例中,一种计算机可读介质包括指令,所述指令当由处理器执行时,使得处理器维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释,所述对象包括行人、骑行者、动物、车辆、室内环境中的动物和移动对象中的一个或多个,所述注释包括对象周围的几何形状、对象的中心线或对象的行进方向中的一个或多个;针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型,所述任务类型包括纯人类注释任务类型、AI交互任务类型或具有机器学习预标注的人类任务的任务类型之一,所述代理类型包括具有平均注释技能的工人、具有专家技能的工人或使用机器学习模型的机器之一;根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释;基于关键帧的注释的置信水平,选择审查关键帧,置信水平基于以下各项中的一个或多个:(i)执行注释任务的工人的表现,(ii)工人跨多个注释任务的总体表现,(iii)基于注释的机器标识而确定的预测分数,或(iv)原始图像数据的图像质量的分析;针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型;以及根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
附图说明
图1图示了用于图像数据的捕获和注释的示例注释系统;
图2图示了用于图像数据的注释的数据图解的示例;
图3图示了注释任务的示例工作流;
图4图示了资格认定任务的示例;
图5图示了用于执行手动注释的用户接口的示例;
图6图示了用于执行手动注释的用户接口的另外方面的示例;
图7图示了行人方向注释的示例;
图8图示了行人ID匹配的示例;
图9图示了关于行人ID匹配的原始图像数据的帧的示例;
图10图示了用于执行AI辅助的手动注释的用户接口的示例;
图11图示了基于AI的注释者的架构;
图12图示了用以提取用于训练的图像补片(patch)的过程的示例;
图13图示了帧集合的最终审查任务的示例;
图14图示了两级审查的示例工作流;
图15图示了用于执行最终审查的审查问题的示例;和
图16图示了用于将注释任务分解和执行为多个任务的过程的示例。
具体实施方式
本文中描述了本公开的实施例。然而,将理解的是,所公开的实施例仅仅是示例,并且其他实施例可以采取各种和替代形式。各图不一定是按比例的;一些特征可以被放大或最小化以示出特定组件的细节。因此,本文中公开的具体结构和功能细节不应被解释为限制性的,而仅仅作为用于教导本领域技术人员以各种方式采用实施例的代表性基础。如本领域普通技术人员将理解的,参考各图中任一个所图示和描述的各种特征可以与一个或多个其他图中所图示的特征相组合,以产生未明确图示或描述的实施例。所图示特征的组合为典型应用提供了代表性实施例。然而,与本公开的教导一致的特征的各种组合和修改对于特定应用可能是期望的。
本公开涉及用于人类和机器协作的高精度基准真值数据生成以在大规模图像序列上进行对象检测/定位/跟踪任务的系统和方法。注释的目标对象包括行人、骑行者、动物、室外环境中的各种类型的车辆以及室内环境中的人、动物和任何移动的对象。所公开的方法使得能够将注释任务分解成在工作流中自动化的多个任务,并且动态地将每个任务分配给(一个或多个)人类注释者或机器,以便高效地递送基准真值。从注释过程生成的基准真值被用于重新训练在注释过程中使用的机器学习模型,以随着时间推移改进机器预测。注释过程被划分成两个主要步骤:关键帧注释和中间帧注释,它们在工作流中具有不同的任务,但共享类似的任务。
用于基准真值生成的机器学习模型(可选地,在循环中具有人类)可以用于其他目的,诸如对象识别服务的预测。
为了解决注释任务的可扩展性和效率,本公开中的系统将复杂的注释任务分解成多个微/机器任务。每个微任务被设计成由在没有记住全部要求的情况下已经通过了基础训练和资格认定的任何工人来执行。机器任务被设计成应用尖端的机器学习模型来使注释过程高效。为了随着时间推移更多地改进效率,来自先前注释的机器学习模型被原样使用或者在适当地重新训练(例如应用转移学习)之后被使用。取决于从各种相机、安装位置和部署环境收集的图像的特性,来自先前注释的机器学习模型被原样使用或适当地被重新训练(例如应用转移学习)。
如本文中详细解释的,本公开提供了用于大规模数据注释的人机协作。大规模数据注释中的效率可以通过如下来提供:在注释过程的循环中集成机器学习模型和人类,并且通过随着时间推移利用来自先前批次的数据进行重新训练来改进机器预测。手动/人类注释可能是耗时且昂贵的。因此,本公开提供了通过增加不要求几何形状注释调整的准确机器注释的数量来减少人类注释努力的系统和方法。
附加地,所描述的系统和方法提供了复杂注释任务中的认知负荷的减少。事实上,对于新手人类注释者而言,学习复杂的注释要求以能够无误差地注释整个视频可能花费大量的时间。所提出的系统和方法通过将全部注释工作划分成可以由许多人完成的多个机器任务来减少人类注释者的学习时间。因此,所述系统和方法是可扩展的,以快速招募和训练人类注释者。
关于机器和交互注释用户接口,机器学习模型用于注释工作流中的一些任务,以通过交互UI自动生成注释或与人类注释者协作生成注释。关于众包任务中的质量控制,质量控制机制嵌入任务和工作流的设计中。
如本文中所述,高效且可扩展的基准真值生成系统和方法产生高精度(像素级准确度)注释,其用于开发对象检测/定位、对象跟踪。本公开提供了用于人类和机器协作的高精度基准真值数据生成以在大规模图像序列上进行对象检测/定位/跟踪任务的系统和方法。作为一些示例,用于注释的对象包括行人、骑行者、动物、室外环境中的各种类型的车辆以及室内环境中的人、动物和任何移动的对象。
图1图示了用于图像数据132的捕获和注释的示例注释系统100。注释系统100包括服务器102,该服务器102托管通过网络122对客户端设备104可访问的注释web应用124。服务器102包括操作性地连接到存储装置110和网络设备118的处理器106。服务器102进一步包括用于图像数据132的接收的图像数据输入源130。客户端设备104包括操作性地连接到存储装置112的处理器108、显示设备114、人机接口(HMI)控件116和网络设备120。应当注意到,示例注释系统100是一个示例,并且可以使用其他系统100。例如,虽然仅示出了一个客户端设备104,但是也设想到包括多个客户端设备104的系统100。作为另一种可能性,虽然示例实现被示出为基于web的应用,但是替代系统可以被实现为独立系统或者具有厚客户端软件的客户端-服务器系统。
服务器102的处理器106和客户端设备104的处理器108中的每一个可以包括实现中央处理单元(CPU)和/或图形处理单元(GPU)的功能性的一个或多个集成电路。在一些示例中,处理器106、108是集成了CPU和GPU的功能性的片上系统(SoC)。SoC可以可选地包括其他组件,诸如例如,将存储装置110和网络设备118或120包括到单个集成设备中。在其他示例中,CPU和GPU经由外围连接设备(诸如PCI express或其他合适的外围数据连接)彼此连接。在一个示例中,CPU是实现指令集的商业上可获得的中央处理设备,所述指令集诸如x86、ARM、Power或MIPS指令集家族之一。
不管具体情况如何,在操作期间,处理器106、108执行分别从存储装置110、112检索的存储的程序指令。相应地,存储的程序指令包括控制处理器106、108的操作以执行本文中描述的操作的软件。存储装置110、112可以包括非易失性存储器和易失性存储器设备二者。非易失性存储器包括固态存储器,诸如NAND闪速存储器、磁性和光学存储介质,或者当注释系统100被停用或失去电力时保留数据的任何其他合适的数据存储设备。易失性存储器包括在注释系统100的操作期间存储程序指令和数据的静态和动态随机存取存储器(RAM)。
客户端设备104的GPU可以包括用于向客户端的显示设备114显示至少二维(2D)和可选的三维(3D)图形的硬件和软件。显示设备114可以包括电子显示屏、投影仪、打印机或再现图形显示的任何其他合适的设备。在一些示例中,客户端104的处理器108使用GPU中的硬件功能性来执行软件程序,以加速本文中描述的机器学习或其他计算操作的执行。
客户端104的HMI控件116可以包括使得注释系统100的客户端设备104能够从工人或其他用户接收控制输入的各种设备中的任一种。接收人类接口输入的合适输入设备的示例可以包括键盘、鼠标、轨迹球、触摸屏、语音输入设备、图形平板设备等。
网络设备118、120可以各自包括使得服务器102和客户端设备104分别能够通过网络122从外部设备发送和/或接收数据的各种设备中的任一种。合适的网络设备118、120的示例包括从另一计算机或外部数据存储设备接收数据的网络适配器或外围互连设备,其对于以高效的方式接收大数据集可以是有用的。
注释web应用124是由服务器102执行的软件应用的示例。注释web应用124当被执行时可以使用各种算法来执行本文中描述的操作的各方面。在示例中,如上面所讨论的,注释web应用124可以包括由服务器102的处理器106可执行的指令。计算机可执行指令可以从使用多种编程语言和/或技术创建的计算机程序来被编译或解译,所述多种编程语言和/或技术没有限制地且单独或组合地包括JAVA、C、C++、C#、VISUAL BASIC、JAVASCRIPT、PYTHON、PERL、PL/SQL等。一般而言,处理器106例如从存储装置110、计算机可读介质等接收指令,并且执行这些指令,从而执行一个或多个过程,所述一个或多个过程包括本文中描述的一个或多个过程。这样的指令和其他数据可以使用多种计算机可读介质来存储和传输。
web客户端126可以是由客户端设备104执行的web浏览器或其他基于web的客户端。web客户端126当被执行时可以允许客户端设备104访问注释web应用124以显示注释web应用124的用户接口。web客户端126可以进一步通过网络122将经由HMI控件116接收的输入提供给服务器102的注释web应用124。
在人工智能(AI)或机器学习系统中,基于模型的推理指代基于待分析世界观的机器学习模型128而操作的推断方法。一般地,机器学习模型128被训练来学习在输入值与输出值之间提供精确相关性的函数。在运行时,机器学习引擎针对观察到的数据使用机器学习模型128中编码的知识来得出诸如诊断或预测的结论。一个示例机器学习系统可以包括由加利福尼亚州山景城的Alphabet公司变得可获得的TensorFlow(张量流)AI引擎,尽管可以附加地或替代地使用其他机器学习系统。如在本文中详细讨论的,注释web应用124和机器学习模型128可以被配置为识别和注释图像数据132的特征,以在高效且可扩展的基准真值生成系统和方法中使用,从而产生高精度(像素级准确度)注释,该注释用于开发对象检测/定位、对象跟踪。
图像数据源130可以是相机,例如,安装在诸如汽车、墙壁、电线杆的移动对象上,或者安装在移动设备中,该相机被配置为捕获图像数据132。在另一个示例中,图像数据输入132可以是接口、诸如网络设备118或到存储装置110的接口,其用于检索先前捕获的图像数据132。图像数据132可以是视频,例如图像序列。图像数据132中的每个图像在本文中可以被称为帧。出于隐私考虑,对于某些注释任务,面部和牌照可能从图像数据132中模糊化。
图2图示了用于图像数据132的注释的数据图解的示例200。如所示出的,诸如视频的原始图像数据132被存储在数据湖(例如,存储装置110、驱动器或其他存储设备)中。在注释任务工作流202中,原始图像数据132被提供给人类注释任务204以创建注释206。注释206可以包括例如弱注释208、机器学习的注释210和最终注释212。还可以关于原始图像数据132存储附加元数据214。例如,该附加元数据214可以包括在其期间捕获原始图像数据132的天气条件、其中捕获原始图像数据132的地理位置、在其期间捕获原始图像数据132的时间等。如下面进一步详细讨论的,训练数据选择器216可以用于从存储器110选择原始图像数据132和注释206,如218处所示。在220处,机器学习算法接收选择的原始图像数据132和注释,并且在222处创建训练模型的修订。该训练模型然后被注释任务工作流202用来提供机器学习的注释210。机器学习的注释210也可以由人类注释任务204监督。
图3图示了注释任务的示例300工作流。一般而言,注释的工作流被划分成两个阶段:1)关键帧注释和2)中间帧注释。如果关键帧间隔是一,则所有帧都像关键帧那样被注释而没有中间帧注释。关于关键帧注释,执行关键帧间隔选择,然后执行注释类型和任务,然后可以执行关键帧注释的审查。关于中间帧注释,中间帧注释首先由机器生成,然后人类注释者验证机器注释的正确性,并且通过校正注释向机器提供反馈。
关于关键帧注释,执行关键帧间隔选择。在示例中,关键帧间隔可以在注释系统100中被选择或配置为静态值(例如,关键帧间隔是5)。在另一个示例中,关键帧间隔可以依据具有域中重要参数的公式或函数来被定义。例如,可以利用汽车速度、方向盘、道路类型(城市、公路)等的参数和/或跨邻近帧的场景相似性/差异来表示自主驾驶域中的关键帧间隔选择函数。关键帧间隔可以由注释者动态选择,以当它们与底层机器交互时最大化它们的效率和注释准确度,所述底层机器在注释者输入后自动生成后续帧的注释。
关于注释类型和任务,注释系统100可以取决于效率或其他原因针对不同的注释任务动态配置。注释系统100还可以被配置用于分配给一个注释者的最大和最小数量的任务。
关于手动或纯人类注释,注释可以主要由(一个或多个)人类注释者完成。取决于任务复杂性,人类注释者可以通过执行在线训练课程并且经由通过资格认定测试而针对给定任务类型具备资格。
图4图示了资格认定任务的示例400。如所示出的,示例400图示了注释任务接口,其中示出了边界框训练的方面,其中轮到人类操作者在先前示例中示出的相同行人周围绘制边界框。在显示的用户接口中提供用户接口按钮,以允许人类绘制框。一旦框已经被绘制,检查我的工作控件就可以被选择以允许用户对工作进行检查。
注释任务接口可以包括其中可以提供指令的指令窗格(pane)、以及其中注释者可以在图像/帧上的目标对象之上绘制几何形状的注释窗格。几何形状可以包括边界框、中心线、长方体、L形、单点或多点、线或自由绘图形式。应当注意到,这些是可以在注释任务中使用的形状的常见示例,但是可以使用不同的形状。注释任务可以包括提供各种属性,诸如人的身体姿势、人的头部角度等。注意到,这些是可以仅在某些示例中使用的特定要求,并且一些实现不具有用于行人注释的这些属性。此外,不同的对象类型可以具有不同的属性。例如,行人可以具有行走方向或身体姿势属性,但车辆可以没有。
注释任务可以包括对象匹配任务,该对象匹配任务被要求标识不同帧上的相同对象。如果要求一个注释者跨帧为相同对象绘制几何形状,则可以为跨帧的每个注释分配对象ID。如果帧被划分成多个注释任务,则可以创建ID匹配任务来跨帧找到相同的对象。可选地,在为人类注释者创建ID匹配任务之前,ID匹配可以由机器初步地完成。关于图5、图6和图7图示了手动注释的示例。关于图8和图9图示了ID匹配的示例。
图5图示了用于执行手动注释的用户接口的示例500。在示例中,用户接口可以被提供给显示器114。用户接口的标题指示用户接口用于针对原始图像数据132的五帧在一个人周围绘制边界框。如所示出的,手动注释用户接口包括指令窗格,所述指令窗格指示用户查看向右侧的帧,并且挑选比下面示出的标尺大并且在其周围没有黄色框的一个行人。如果找到这样的行人,则用户可以选择控件来指示找到了要注释的行人。如果没有,则用户可以选择控件来指示所有行人都已经具有框。用户接口还可以包括显示原始图像数据132的帧的注释页面,用户可以从该注释页面尝试标识行人。
图6图示了用于执行手动注释的用户接口的另外方面的示例600。如所指示的,用户接口的目的是为所有行人标识准确的边界框和中心线。可以用于标识新行人的操作包括点击用户接口的“新行人”控件,并且然后选择行人身体的四个侧面的最外点。如果行人被部分遮挡,则应当录入点来估计覆盖的最外点。接下来,用户可以调整中心线以越过行人的臀部中心。可以重复该过程,直到所有行人都具有准确的框和中心线。可以对在图像中的黑暗区域以及对小的行人给予额外的关注。在一个示例中,可以按每个录入的框或每个标识的行人对人类操作者付报酬。如果这样,则可以在用户接口中包括人类操作者的收入的指示。
在示例中,如果注释系统100的机器学习方面确定图像中存在多于预定数量的行人(例如,20个行人),则用户接口可以为用户提供对在一部分行人被定位(例如,一旦20个行人被定位)之后停止和提交的选择。
在示例中,如果图像包括大量的行人,则图像可以被划分成不同的补片,以单独地进行手动注释。用户可以能够最初查看补片中的一个,并且可以能够点击附加的补片来示出图像的该部分。在一些实现中,一旦示出了新的补片,用户就可能不能够返回到先前的补片。
图7图示了行人方向注释的示例700。除了边界框和中心线之外,还可以在图像中注释行人的附加属性、诸如行人正在行走的方向。如所示出的,用户接口的标题指示用户接口用于行人方向的标识。附加地,注释用户接口包括指令窗格,所述指令窗格指示用户标识哪个方向最佳地描述了注释窗格中突出显示的行人正在行走的方向。选择可以包括行人正在向左行走、正在向右行走、正在朝向驾驶员的方向(粗略地)行走或者正在背离驾驶员的方向(粗略地)行走。用户接口可以进一步询问哪个角度最佳地反映突出显示的行人正在行走的角度,并且可以提供一些示例角度。附加地,指令窗格指示如果当前帧中不存在突出显示的行人,则可以选择任何答案,并且审查者的工作将由另一个工人审查。用户接口还可以包括显示原始图像数据132的帧的注释页面,用户可以从该注释页面尝试标识行人的行走方向。
图8图示了行人ID匹配的示例800。如所示出的,用户接口提供了对行人集合中的一个或多个的选择,所述行人集合在基本帧(在左侧图示)中被标识。用户接口还提供匹配帧(在右侧图示),用户可以从该匹配帧中映射相同的行人。这样,相同的ID可以用于跨帧的相同行人。
图9图示了关于行人ID匹配的原始图像数据帧的示例900。如所示出的,工人A请求五个关键帧来注释一个行人。(如果存在n个行人,则对于相同的关键帧,总共有n个利用工人的不同任务要完成)。还如所示出的,工人B请求下一五个关键帧集合来注释相同行人。在两个帧集合之间,应当存在相同行人的匹配,以生成一致的行人ID。
转向AI辅助的注释,该注释类型可以设计成利用注释者和机器交互地完成。人类注释者可以在目标对象上提供弱标注(例如,在目标对象的中心上的单点点击、覆盖目标对象的粗略边界框等)。机器任务可以提供细化/准确的几何形状注释(例如,目标行人上的精确边界框)。如果机器生成的几何形状注释不准确和/或不在公差范围内,则注释者可以简单地通过经由用户接口校正任何不正确的部分来提供反馈。弱标注、原始机器预测的注释和人类校正的注释可以保存到注释系统100,以在线或离线重新训练机器。
机器生成的注释可以通过各种方案被实现。在一个示例中,可以利用一种方案,所述方案将图像补片取作输入,并且将图像补片中的主要对象周围的紧密边界框估计为输出。输入图像补片可以是来自原始图像的裁剪区,所述裁剪区基于由对象检测器或跟踪器估计的对象位置。可以利用深度卷积网络架构,所述架构高效地减少计算机视觉预标注的误差,并且容易适应于不同于训练数据的数据集。后一性质在注释系统100中可以是有用的,因为它们通常遇到具有不同元数据特性的数据(例如,不同的相机参数、道路和天气方面的不同条件等)。
不同的几何形状注释也可以利用其他机器学习算法。在示例中,为了具有准确的边界框,可以通过选择目标片段的(x,y)坐标的最外点来使用机器生成的语义分割注释。类似地,可以通过利用身体预测的关键点来生成身体注释的中心。
图10图示了用于执行AI辅助的手动注释的用户接口的示例1000。如所示出的,用户接口可以指示目的是在具有AI辅助的情况下针对所有行人的准确边界框和中心线注释。可以执行以这样做的步骤可以包括首先要点击左上和右下的两个点来覆盖行人。AI然后可以生成边界框。然后,如果必要,则可以通过用户点击行人的正确(一个或多个)最外点来教导AI。如果行人被部分遮挡,则应当录入点来估计覆盖的最外点。AI然后可以生成中心线。如有必要,则可以通过用户点击以校正中心线来教导AI。可以重复该过程,直到所有行人具有准确的框和中心线。可以对在图像中的黑暗区域以及对小的行人给予额外的关注。在一个示例中,可以按每个录入的框或每个标识的行人对人类操作者付报酬。如果这样,则可以在用户接口中包括人类操作者的收入的指示。附加地,用户接口可以提供AI从用户学习到多少的指示。
除了手动注释和AI辅助的注释之外,第三种类型的注释是具有预标注的机器发起的注释。该注释类型可以使用对象检测器来检测具有对象类/类别的对象。这些检测到的对象可以作为基于来自计算机视觉算法(对象跟踪或对象检测)的预标注的边界框从视频帧中裁剪的图像补片而输入到AI。在裁剪图像之前,可以扩展预标注的边界框的四个边,以确保对象的可见部分被包括在图像补片中。AI然后可以预测对象的精确边界框。视频注释方案是一个示例,但是AI方案可以应用于利用计算机视觉预标注的任何注释系统100,或者用于使注释者绘制的粗略边界框更精确。在这样的注释流水线中,原始图像数据132的输入视频序列首先被划分成关键帧(每K帧被采样,其中K可以由汽车移动的速度和环境改变来确定)和中间帧。关键帧中的预标注可以由对象检测器初始化,并且然后由AI细化。这样的关键帧预标注可以由人类工人审查并且然后校正或重新绘制,以确保关键帧标注是精确的。经注释的关键帧可以用于使用对象跟踪器填充中间帧的预标注。然后,中间帧的预标注可以由AI细化,并且可以经过人类注释者来校正它们。结果可以是输入到AI的检测到的对象被细化到检测到的对象的紧密边界框中。无论如何,来自步骤1的预标注都可以由(一个或多个)人类注释者验证和/或校正。
在生成中间帧注释之前,可以由具有高质量简档的(一个或多个)不同人类注释者执行关键帧注释的审查,从而具有高质量注释。审查过程可以是一个合并的任务,或者它可以被划分成多个步骤,所述多个步骤可以由多于一个人类注释者执行。可以对于所有注释执行审查,或者可以取而代之对于具有低置信水平的仅目标的注释进行审查。图6图示了示例。
从关键帧注释移动到中间帧注释,中间帧注释可以首先由机器生成。然后,人类注释者可以验证机器注释的正确性,并且通过校正注释向机器提供反馈。
几何形状和对象ID生成可以由机器执行。可以基于所选帧的起始关键帧和结束关键帧的位置来标识目标对象的预标注地点/位置。可以利用插值和诸如核化相关滤波器之类的计算机视觉技术来计算该位置。生成的注释可以具有相同的ID。
可以创建目标对象的补片(来自具有额外区的机器学习算法的预标注),以取得细粒度(高精度)几何形状注释的估计。本文中详细讨论示例估计器的详细描述。
图11图示了基于AI的注释者的架构1100。如所示出的,第一组层是特征提取器,继之以三个完全连接层。在该示例中,输出维度为四,其对应于边界框左下角和右上角的(x,y)坐标。这里,特征提取器指代用于计算机视觉的公知的深度神经网络架构的卷积层,诸如:VGG16(在Karen Simonyan和Andrew Zisserman. Very deep convolutional networksfor large-scale image recognition. arXiv预印arXiv:1409.1556, 2014中详细描述),ResNet50(在Kaiming He, Xiangyu Zhang, Shaoqing Ren和Jian Sun, “Deep residuallearning for image recognition,” IEEE计算机视觉和模式识别会议录(Proceedings of the IEEE conference on computer vision and pattern recognition), 770–778页, 2016中描述),以及MobileNet(Andrew G Howard, Menglong Zhu, Bo Chen, DmitryKalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto和Hartwig Adam,“Mobilenets: Efficient convolutional neural networks for mobile visionapplications.”arXiv预印 arXiv:1704.04861, 2017),其中每一篇通过引用以其整体并入本文中。
关于总体架构,基于AI的注释者首先从图像中学习和提取特征,并且然后使用提取的特征来估计图像补片中主要对象的四个极限坐标。因此,该架构被划分成特征提取器和坐标估计器。对于特征提取器,设计目的是要在图像补片中表示主要对象。在一些示例中,这可以利用在各种计算机视觉任务中示出有效的特征提取器,诸如VGG16的前十三层、ResNet50的前四十九层和MobileNet的前十八层。特征提取器的另一个设计指标是可转移性,因为数据注释系统通常遇到具有不同特性的图像;因此,AI应当可容易地转移到不同的数据集。
关于直接可转移性,在注释新图像集合的开始处,在注释流水线中使用的AI模型将已经利用不同的数据集进行了训练。AI可以尽可能精确地估计对象的四个极限坐标,尽管由于利用不同的数据集训练了AI模型而预期更多的误差。也就是说,AI模型应当具有尽可能低的方差,同时维持估计能力。给定相同大小的训练数据和训练策略,减少方差需要减少参数的数量。
关于适应所要求的最小数据,尽管AI模型旨在可直接地转移,但是该模型将永远不像如果它在相同数据集上被训练一样好地执行。数据注释中的常见实践是在对部分数据进行注释之后,重新训练或微调系统中使用的计算机视觉算法。可以看到,如果在注释期间的较早阶段中可以对算法进行微调,则算法就可以更多地辅助人类注释者,并且因此注释整个数据集的成本就越低。因此,AI模型应当要求最小大小的数据来被微调到新的数据集。
转到坐标估计器,AI模型的顶层被配置为学习提取的图像特征与图像补片中主要对象的四个极限坐标之间的映射。估计器可以是深度神经网络,其具有包括特征提取器和坐标估计器的架构。特征提取器可以与在计算机视觉文献中被证明有用的架构一致。这样的特征提取器的示例是VGG16、ResNet50和MobileNet。坐标估计器可以被配置为学习提取的图像特征与图像补片中主要对象的四个极限坐标之间的映射。为了学习这样的非线性映射,需要多于一层的回归,因为坐标估计器本质上比对象检测器(其通常在汇聚之后仅具有一个完全连接层)更困难。也可以定义损失函数。对于损失函数,AI的目的是要使边界框边界尽可能精确,这意味着在对象极限点与边界框之间存在尽可能少的像素。例如,L1距离可以是测量估计性能的自然选择。为了进行优化,可以采用Huber损失。为了模拟用于训练这样的估计器的预标注中的误差,可以收集在预标注中产生的误差统计量,并且当生成用于训练的图像补片时注入这样的误差。对于身体注释的中心线,为了使用行人的目标对象类型,可以通过利用用于身体关键点的机器模型和/或基于两个关键帧的中心线插值来预测身体的中心线。属性注释生成也可以由机器执行。可以基于两个关键帧的插值来生成属性。
训练AI模型的第一步骤是要估计AI模型将要进行校正的误差的分布。这样的误差分布有助于坐标估计器定位图像补片中的主要对象,并且有助于训练过程来模拟AI模型需要在注释流水线中校正的误差。此外,利用误差分布而不是来自计算机视觉算法的真实误差进行训练更好地将AI模型与计算机视觉算法在注释流水线中有多精准地执行相隔离,并且改进AI模型到新数据集的可转移性。
通过使用图11中的注释流水线作为示例,AI模型校正的误差可以包括对象检测器误差和对象跟踪器误差。理想情况下,可以收集两种算法的统计量,但是为了减少训练努力,AI模型可以首先利用更差的误差来训练。在这种情况下,由于对象跟踪器每K帧被初始化,并且感兴趣的对象(车辆和行人)通常不具有突然的运动改变,只要K不太大,对象跟踪器的边界框边界误差应当小于对象检测器的边界框边界误差。因此,AI可以在整个训练数据集之上操作对象检测器,并且将边界框与基准真值匹配,以收集由对象检测器引入的边界框边界误差统计量。
图12图示了用以提取用于训练的图像补片的过程的示例1200。在获得计算机视觉误差统计量之后,下一步骤是要提取包含每个对象的图像补片和每个补片内对象的基准真值坐标——图像补片将是AI模型的输入,并且基准真值坐标将用于计算损失值。如在示例1200中所示,给定一个完全可见的对象的图像和基准真值边界框,基准真值边界框的四个边首先以固定比率扩展,以确保该对象完全包括在图像补片中;然后,基于从对象检测器收集的误差统计量,随机地移位四个边(取决于从分布中汲取的数量,每个边可以向内或向外移动);然后图像补片被裁剪,补片被标准化为固定的大小作为输入来训练AI模型。标准化过程维持原始补片的纵横比,并且针对所有通道利用0来填充空像素。注意到,训练补片是在训练的每个时期期间动态(on the fly)生成的,因此当对象在训练期间被多次使用时,裁剪的补片的大小可能不同。
对于人类注释者可能存在某些验证任务。验证任务可以被划分成三个不同的步骤:i)删除覆盖(一个或多个)非目标对象的任何不正确注释,ii)添加不覆盖目标对象的新注释,以及iii)如果机器生成的注释不满足精度要求,则调整几何形状注释。如果机器置信水平存在,则验证任务可能以具有低置信水平的注释为目标。
然后,可以对于所有帧执行最终审查任务。审查过程可以是一个合并的任务,或者它可以被划分成多个步骤,所述多个步骤可以由多于一个人类注释者执行。审查的选择可以针对具有低置信水平的注释来完成。可以利用机器来交互地完成审查。在审查之后,所有目标对象的注释的几何形状和ID跟踪可以再次由机器完成。通过计算两个或更多个对象的边界框和属性的重叠,可以由机器添加另外的注释(例如,对象的分组)。
图13图示了帧集合的最终审查任务的示例1300。如所示出的,三个帧正在进行中,而三个其他的帧正在等待。在正在进行中的三个帧当中,第一帧被指示为已经完成了边界框的注释和ID的生成,而第二和第三帧仅被指示为已经完成了边界框的注释。
可以利用来自注释系统的结果来执行对机器学习模型的持续训练。注释系统100存储所有(包括中间和最终)注释结果,以持续训练在注释过程中使用的机器学习算法。参考回到图2,持续训练流水线架构具有对包含原始图像数据132、所有注释数据和元数据的数据湖(存储储库)的访问。训练数据选择器确定哪些数据应用于下一个训练周期。训练数据选择器具有函数和逻辑,它们被编程为统计地分析元数据的分布、计算机器注释与最终注释之间的差异并且基于分析结果选择目标训练数据以便最大化机器学习算法中的学习。例如,如果夜间场景中具有高度> 500像素的对象的最终注释与机器注释的IoU(联合交集)<70%,则具有那些注释的帧可以被选择作为目标训练数据。
关于众包工人的质量控制,注释系统100可以取决于人类注释者的质量简档将他们分类成两个不同的角色。这些角色中的一个是平均工人的角色——通过了训练和资格认定(如果必要)来执行注释任务的工人。这些角色中的另一个是在过去已经完成了大量的工作的信任节点/工人,并且信任工人负责审查其他工人的任务。
注释系统100可以具有三个不同的审查过程。取决于任务类型,可以应用这些不同的审查过程中的一个或多个。这些过程中的第一个是工人本身之间对于相同任务的两级审查。这些过程中的第二个是独立的审查/验证任务。这些审查任务中的第三个是由专家执行的最终审查任务(针对关键帧和最终结果)。
图14图示了两级审查的示例1400工作流。在两级审查中,在每个工人(例如,工人A)提交了他/她的任务之后,工人(人类注释者)审查发生。注释系统100可以将审查和注释任务分配给另一个工人(例如,工人B),以审查工人A的准确度,并且在工人B继续从事他/她自己的注释任务之前提供反馈。
更具体地参考示例1400,如果工人B不是信任节点/工人,则注释系统100可以为信任工人创建审查任务以审查工人B的任务。如果对工人B的任务的审查是否定的,则注释系统100可以将该任务发送给原始工人(工人B)并要求他/她修订。如果工人B在截止日期之前没有提供修订,则可以拒绝该任务,并且可以创建另一个审查和注释任务。否则,工人B的任务可以被批准。如果对工人B的任务的审查是肯定的,则工人B的结果是有效的。
如果对工人A的任务的审查是否定的,则注释系统100可以将任务发送给原始工人(工人A)进行修订。如果工人A在截止日期之前没有提供修订,则可以拒绝该任务,并且可以创建另一个审查和注释任务。否则,工人A的任务可以被批准。在任务批准或拒绝后,更新工人的质量简档。
对于独立的审查/验证任务,对于主要由机器完成的注释,可以利用其中审查仅由n个数量的工人完成的独立任务,而不是两级审查过程。对于由专家进行的最终审查任务(例如,针对中间帧的最终结果和关键帧):在发布/最终确定基准真值之前,可以聘请专家(该专家的质量简档高于或等于信任节点的最低质量条件)来校正任何不正确的注释。
图15图示了用于执行最终审查的审查问题的示例1500。如所示出的,用户接口正在请求工人查看在右侧的帧(注释窗格),并且在行人周围没有边界框的情况下标识他们。指令可以继续提醒工人对黑暗区域以及小的行人给予特定的关注。审查问题可能是询问有多少行人缺乏在他们周围的边界框。在回答该问题时,注释系统100可以接收关于注释质量的附加输入。
图16图示了用于将注释任务分解和执行为多个任务的过程1600的示例。在示例中,过程1600可以在注释系统100的上下文中由注释web应用124执行。过程1600可以包括用于关键帧注释的流程,以及用于中间帧注释的流程。
关于关键帧,该过程可以在操作1602处开始,其中注释web应用124选择关键帧进行注释。在示例中,注释web应用124可以标识原始图像数据132的输入视频序列中的关键帧。
在操作1604处,注释web应用124可以标识要执行的注释的任务类型,以及还有注释的代理类型。任务类型可以包括例如纯人类注释任务类型、AI交互任务类型或具有机器学习预标注的人类任务的任务类型。代理类型可以包括例如具有平均注释技能的工人、具有专家技能的工人或者机器。在一些示例中,这些标识可以根据用户输入来执行。在其他示例中,这些标识可以由注释web应用124基于针对注释可获得的原始图像数据132来执行。
在1606处,可以由注释web应用124为所选帧启动测试实例,以执行注释。上面参考图4、5、6、7、8、10、13和15详细讨论了用于注释和/或注释审查的示例用户接口。然后,可以由针对所指示的任务类型的所指示的代理类型来执行审查。一旦审查完成或中止,在操作1608处,控制就可以返回到操作1604以选择另一注释任务。
附加地或替代地,过程1600可以从操作1608继续到操作1610,其中,如注释的原始图像数据132的帧被选择用于专家审查。该选择可以基于注释的置信水平来执行。例如,置信水平可以基于执行注释任务的工人的一个或多个表现(或工人在所有注释任务中的总体表现)、基于注释的机器标识确定的机器的预测分数、原始图像数据132的图像质量的分析、和/或基于在执行注释中的其他困难(例如,人类操作者或机器缺乏标识原始图像数据132中的对象的能力)。
在操作1612处,注释web应用124启动用于经注释的原始图像数据132的所选帧的审查任务实例。在示例中,审查可以是AI辅助审查或纯人类审查。上面参考图4、5、6、7、8、10、13和15详细讨论了用于注释和/或注释审查的示例用户接口。
在操作1614处,注释web应用124完成对于所选帧和目标对象的审查。例如,注释web应用124可以确认对于所有对象、对于具有低于阈值置信度的所有对象等已经完成了对任务类型的审查。
接下来,在1616处,注释web应用124确定对于关键帧是否仍有附加的注释和任务要执行。如果是,则控制转到操作1604。如果不是,则过程1600结束。
关于中间帧的注释,在操作1618处,注释web应用124可以执行中间帧的注释的自动生成。在操作1620处,类似于操作1604,但是对于中间帧,注释web应用124可以选择任务类型、中间帧的代理类型。例如,该任务可以是纯人类任务或AI交互任务。
在操作1622处,类似于操作1606,但是对于中间帧,注释web应用124启动用于中间帧的任务实例。根据任务类型和代理类型,可以相应地执行中间帧的检查。在操作1622之后,在操作1624处,注释web应用124确定是否存在要对中间帧执行的附加审查。例如,可能存在要使用不同的任务类型进行审查的一些中间帧。如果是,则控制转到操作1620。如果不是,一旦关键帧以及还有中间帧的注释和审查完成,控制就转到操作1626以指示注释的完成。
一般而言,本文中公开的过程、方法或算法可以可递送到处理设备、控制器或计算机/由处理设备、控制器或计算机实现,所述处理设备、控制器或计算机可以包括任何现有的可编程电子控制单元或专用电子控制单元。类似地,过程、方法或算法可以以许多形式存储为可由控制器或计算机执行的数据和指令,许多形式包括但不限于永久存储在诸如ROM设备的不可写存储介质上的信息,以及可变更地存储在诸如软盘、磁带、CD、RAM设备和其他磁性和光学介质的可写存储介质上的信息。过程、方法或算法也可以在软件可执行对象中实现。可替代地,可以使用诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、状态机、控制器之类的合适的硬件组件,或者其他硬件组件或设备,或者硬件、软件和固件组件的组合,来整体或部分地体现过程、方法或算法。
虽然上面描述了示例性实施例,但是这些实施例不旨在描述权利要求所涵盖的所有可能形式。说明书中使用的词语是描述性而不是限制性的词语,并且应理解的是,可以在不脱离本公开的精神和范围的情况下进行各种改变。如前所述,各种实施例的特征可以被组合以形成可能未被明确描述或图示的本发明的另外实施例。虽然各种实施例可以已经被描述为在一个或多个期望的特性方面提供了超过其他实施例或现有技术实现的优势或者优选于其他实施例或现有技术实现,但是本领域普通技术人员认识到,一个或多个特征或特性可以被折衷以实现所期望的总体系统属性,这取决于具体的应用和实现。这些属性可以包括但不限于成本、强度、耐用性、生命周期成本、适销性、外观、包装、大小、适用性、重量、可制造性、组装容易性等。照此,在任何实施例被描述为在一个或多个特性方面不如其他实施例或现有技术实现合期望的程度上,这些实施例并不在本公开的范围之外,并且对于特定应用而言可以是合期望的。
Claims (24)
1.一种用于在图像序列中进行对象标识、定位和跟踪的人机协作的高精度基准真值数据生成的系统,包括:
用户接口;
存储装置,其被配置为维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释;和
处理器,其与存储装置和用户接口进行通信,处理器被编程为
针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型,
根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释,
基于关键帧的注释的置信水平,选择审查关键帧,
针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型,以及
根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
2.根据权利要求1所述的系统,其中任务类型包括纯人类注释任务类型、AI交互任务类型或具有机器学习预标注的人类任务的任务类型之一。
3.根据权利要求1所述的系统,其中代理类型包括具有平均注释技能的工人、具有专家技能的工人或使用机器学习模型的机器之一。
4.根据权利要求1所述的系统,其中,处理器进一步被编程为,当使用利用机器学习模型的机器的代理类型进行操作时,使用所述机器学习模型检测具有精确紧密边界几何形状的对象,所述机器学习模型具有深度卷积网络架构,所述深度卷积网络架构包括被配置为标识对象的特征的特征提取器、继之以被配置为使用所标识的特征标识对象坐标的坐标估计器。
5.根据权利要求1所述的系统,其中用于注释的对象包括行人、骑行者、动物、车辆、室内环境中的动物或移动对象中的一个或多个。
6.根据权利要求1所述的系统,其中注释包括对象周围的几何形状、对象周围的边界框、对象的中心线、对象特定的属性或对象的行进方向中的一个或多个。
7.根据权利要求1所述的系统,其中,置信水平基于以下各项中的一个或多个:(i)执行注释任务的工人的表现,(ii)工人跨多个注释任务的总体表现,(iii)基于注释的机器标识而确定的预测分数,或(iv)原始图像数据的图像质量的分析。
8.根据权利要求1所述的系统,其中处理器进一步被编程为:
选择来自原始图像数据的帧和所述帧的对应手动注释;
修订机器学习模型的训练,所述机器学习模型被配置为使用手动注释来标识所述帧中的对象;和
提供所述帧的机器学习的注释,以用于经由用户接口接收手动校正。
9.根据权利要求8所述的系统,其中原始图像数据与附加元数据相关联,所述附加元数据包括上下文信息的一个或多个元素,所述上下文信息指定在其期间捕获所述原始图像数据的天气条件、其中捕获所述原始图像数据的地理位置或在其期间捕获所述原始图像数据的时间中的一个或多个,并且所述元数据被用作输入以帮助所述机器学习模型的修订训练。
10.根据权利要求8所述的系统,其中经由用户接口接收的手动校正被用作手动注释的至少一部分,以修订所述机器学习模型的训练。
11.根据权利要求8所述的系统,其中所述帧的手动注释包括标识对象的所估计的中心而不管对象是否被遮挡的点击,并且所述机器学习的注释包括在如由所述中心标识的对象周围的边界几何形状。
12.根据权利要求8所述的系统,其中所述帧的手动注释包括标识对象的所估计的最外点而不管对象是否被遮挡,并且所述机器学习的注释包括如由所述最外点标识的对象的中心线。
13.根据权利要求1所述的系统,其中,处理器进一步被编程为,作为对关键帧的注释的审查,从用户接口接收验证输入,所述验证输入包括以下各项中的一个或多个:(i)手动删除覆盖非目标对象的不正确注释,(ii)手动添加不覆盖目标对象的新注释,以及(iii)为未能满足精度要求的机器生成的注释调整几何形状注释。
14.一种用于在图像序列中进行对象标识、定位和跟踪的人机协作的高精度基准真值数据生成的方法,包括:
维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释,所述对象包括行人、骑行者、动物、车辆、室内环境中的动物和移动对象中的一个或多个,所述注释包括对象周围的几何形状、对象的中心线或对象的行进方向中的一个或多个;
针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型,所述任务类型包括纯人类注释任务类型、AI交互任务类型或具有机器学习预标注的人类任务的任务类型之一,所述代理类型包括具有平均注释技能的工人、具有专家技能的工人或使用机器学习模型的机器之一;
根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释;
基于关键帧的注释的置信水平,选择审查关键帧;
针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型;以及
根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
15.根据权利要求14所述的方法,其中所述置信水平基于以下各项中的一个或多个:(i)执行注释任务的工人的表现,(ii)工人跨多个注释任务的总体表现,(iii)基于注释的机器标识而确定的预测分数,或(iv)原始图像数据的图像质量的分析。
16.根据权利要求14所述的方法,其中处理器进一步被编程为:
选择来自原始图像数据的帧和所述帧的对应手动注释;
修订机器学习模型的训练,所述机器学习模型被配置为使用手动注释来标识所述帧中的对象;和
提供所述帧的机器学习的注释,以用于经由用户接口接收手动校正。
17.根据权利要求16所述的方法,其中原始图像数据与附加元数据相关联,所述附加元数据包括上下文信息的一个或多个元素,所述上下文信息指定在其期间捕获所述原始图像数据的天气条件、其中捕获所述原始图像数据的地理位置或在其期间捕获所述原始图像数据的时间中的一个或多个,并且所述元数据被用作输入以帮助所述机器学习模型的修订训练。
18.根据权利要求16所述的方法,其中经由用户接口接收的手动校正被用作手动注释的至少一部分,以修订所述机器学习模型的训练。
19.根据权利要求16所述的方法,其中,所述帧的手动注释包括标识对象的所估计的中心而不管对象是否被遮挡的点击,并且所述机器学习的注释包括如由所述中心标识的对象周围的几何形状。
20.根据权利要求16所述的方法,其中所述帧的手动注释包括标识对象的所估计的最外点而不管对象是否被遮挡,并且所述机器学习的注释包括如由所述最外点标识的对象的中心线。
21.根据权利要求14所述的方法,其中,处理器进一步被编程为,作为对关键帧的注释的审查,从用户接口接收验证输入,所述验证输入包括以下各项中的一个或多个:(i)手动删除覆盖非目标对象的不正确注释,(ii)手动添加不覆盖目标对象的新注释,以及(iii)为未能满足精度要求的机器生成的注释调整几何形状注释。
22.一种包括指令的计算机可读介质,所述指令当由处理器执行时,使得处理器用于:
维护包括具有帧序列的视频的原始图像数据,以及指示在相应帧中标识的对象方面的帧注释,所述对象包括行人、骑行者、动物、车辆、室内环境中的动物和移动对象中的一个或多个,所述注释包括对象周围的几何形状、对象的中心线或对象的行进方向中的一个或多个;
针对原始图像数据的关键帧的注释,确定关键帧的任务类型和关键帧的代理类型,所述任务类型包括纯人类注释任务类型、AI交互任务类型或具有机器学习预标注的人类任务的任务类型之一,所述代理类型包括具有平均注释技能的工人、具有专家技能的工人或使用机器学习模型的机器之一;
根据关键帧任务类型和关键帧代理类型,接收在原始图像数据的关键帧中标识的对象的注释;
基于关键帧的注释的置信水平,选择审查关键帧,置信水平基于以下各项中的一个或多个:(i)执行注释任务的工人的表现,(ii)工人跨多个注释任务的总体表现,(iii)基于注释的机器标识而确定的预测分数,或(iv)原始图像数据的图像质量的分析;
针对原始图像数据的中间帧的注释,确定中间帧的任务类型和中间帧的代理类型;以及
根据中间帧任务类型和中间帧代理类型,接收在原始图像数据的中间帧中标识的对象的注释。
23.根据权利要求22所述的介质,进一步包括指令,所述指令当由处理器执行时,使得处理器用于:
选择来自原始图像数据的帧和所述帧的对应手动注释;
提供所述帧的机器学习的注释,以用于经由用户接口接收手动校正;以及
利用经由用户接口接收的手动校正作为手动注释的至少一部分来修订所述机器学习模型的训练从而标识对象,
其中原始图像数据与附加元数据相关联,所述附加元数据包括上下文信息的一个或多个元素,所述上下文信息指定在其期间捕获所述原始图像数据的天气条件、其中捕获所述原始图像数据的地理位置或在其期间捕获所述原始图像数据的时间中的一个或多个,并且所述元数据被用作输入以帮助所述机器学习模型的修订训练。
24.根据权利要求22所述的介质,进一步包括指令,所述指令当由处理器执行时,使得处理器作为对关键帧的注释的审查,从用户接口接收验证输入,所述验证输入包括以下各项中的一个或多个:(i)手动删除覆盖非目标对象的不正确注释,(ii)手动添加不覆盖目标对象的新注释,以及(iii)为未能满足精度要求的机器生成的注释调整几何形状注释。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/535742 | 2019-08-08 | ||
US16/535,742 US11126855B2 (en) | 2019-08-08 | 2019-08-08 | Artificial-intelligence powered ground truth generation for object detection and tracking on image sequences |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112348846A true CN112348846A (zh) | 2021-02-09 |
Family
ID=71620264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010788097.2A Pending CN112348846A (zh) | 2019-08-08 | 2020-08-07 | 图像序列上对象检测和跟踪的人工智能驱动基准真值生成 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11126855B2 (zh) |
EP (1) | EP3772704A1 (zh) |
CN (1) | CN112348846A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116135797A (zh) * | 2023-04-19 | 2023-05-19 | 江苏海峡环保科技发展有限公司 | 污水处理智能控制系统 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868896B2 (en) * | 2016-01-27 | 2024-01-09 | Microsoft Technology Licensing, Llc | Interface for working with simulations on premises |
US11775850B2 (en) | 2016-01-27 | 2023-10-03 | Microsoft Technology Licensing, Llc | Artificial intelligence engine having various algorithms to build different concepts contained within a same AI model |
US11841789B2 (en) | 2016-01-27 | 2023-12-12 | Microsoft Technology Licensing, Llc | Visual aids for debugging |
US10671938B2 (en) | 2016-01-27 | 2020-06-02 | Bonsai AI, Inc. | Artificial intelligence engine configured to work with a pedagogical programming language to train one or more trained artificial intelligence models |
US11836650B2 (en) | 2016-01-27 | 2023-12-05 | Microsoft Technology Licensing, Llc | Artificial intelligence engine for mixing and enhancing features from one or more trained pre-existing machine-learning models |
DE102019202090A1 (de) * | 2018-03-14 | 2019-09-19 | Robert Bosch Gmbh | Verfahren zum Erzeugen eines Trainingsdatensatzes zum Trainieren eines Künstlichen-Intelligenz-Moduls für eine Steuervorrichtung eines Roboters |
JP7229795B2 (ja) * | 2019-02-01 | 2023-02-28 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | アノテーション装置、アノテーション方法、及び、プログラム |
CN110533006B (zh) * | 2019-09-11 | 2022-03-25 | 北京小米智能科技有限公司 | 一种目标跟踪方法、装置及介质 |
US11200434B2 (en) * | 2019-10-15 | 2021-12-14 | Toyota Research Institute, Inc. | System and method for tracking objects using multi-edge bounding box factors |
US11157811B2 (en) * | 2019-10-28 | 2021-10-26 | International Business Machines Corporation | Stub image generation for neural network training |
KR20210061839A (ko) * | 2019-11-20 | 2021-05-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11776215B1 (en) * | 2019-12-16 | 2023-10-03 | Scale AI, Inc. | Pre-labeling data with cuboid annotations |
LU101763B1 (en) * | 2020-05-04 | 2021-11-05 | Microsoft Technology Licensing Llc | Microsegment secure speech transcription |
JP6800453B1 (ja) * | 2020-05-07 | 2020-12-16 | 株式会社 情報システムエンジニアリング | 情報処理装置及び情報処理方法 |
US20210390250A1 (en) * | 2020-06-15 | 2021-12-16 | Canon Kabushiki Kaisha | Information processing apparatus |
US11443541B2 (en) * | 2020-08-28 | 2022-09-13 | Sensormatic Electronics, LLC | Classification of person type in a visual medium |
NL2026528B1 (en) * | 2020-09-23 | 2022-05-24 | Navinfo Europe B V | Method and system for labelling objects in a roadside video |
US11475668B2 (en) * | 2020-10-09 | 2022-10-18 | Bank Of America Corporation | System and method for automatic video categorization |
CN112270533A (zh) * | 2020-11-12 | 2021-01-26 | 北京百度网讯科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
US11270124B1 (en) * | 2020-11-16 | 2022-03-08 | Branded Entertainment Network, Inc. | Temporal bottleneck attention architecture for video action recognition |
US11276434B1 (en) | 2020-11-17 | 2022-03-15 | Rovi Guides, Inc. | System and method for generating personalized video trailers |
EP4060556A1 (en) * | 2021-03-19 | 2022-09-21 | Aptiv Technologies Limited | Method and device for validating annotations of objects |
EP4320590A1 (en) * | 2021-04-09 | 2024-02-14 | Iris Technology Inc. | Tracking objects across images |
US20220351503A1 (en) * | 2021-04-30 | 2022-11-03 | Micron Technology, Inc. | Interactive Tools to Identify and Label Objects in Video Frames |
CN113420149A (zh) * | 2021-06-30 | 2021-09-21 | 北京百度网讯科技有限公司 | 数据的标注方法和装置 |
EP4198817B1 (en) * | 2021-12-14 | 2024-04-24 | Axis AB | System, method, and computer program for retraining a pre-trained object classifier |
CN114697761B (zh) * | 2022-04-07 | 2024-02-13 | 脸萌有限公司 | 一种处理方法、装置、终端设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2505501B (en) | 2012-09-03 | 2020-09-09 | Vision Semantics Ltd | Crowd density estimation |
WO2018165279A1 (en) | 2017-03-07 | 2018-09-13 | Mighty AI, Inc. | Segmentation of images |
US10884409B2 (en) * | 2017-05-01 | 2021-01-05 | Mentor Graphics (Deutschland) Gmbh | Training of machine learning sensor data classification system |
US20180373980A1 (en) * | 2017-06-27 | 2018-12-27 | drive.ai Inc. | Method for training and refining an artificial intelligence |
US11176415B2 (en) * | 2018-05-09 | 2021-11-16 | Figure Eight Technologies, Inc. | Assisted image annotation |
-
2019
- 2019-08-08 US US16/535,742 patent/US11126855B2/en active Active
-
2020
- 2020-07-15 EP EP20185899.0A patent/EP3772704A1/en active Pending
- 2020-08-07 CN CN202010788097.2A patent/CN112348846A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116135797A (zh) * | 2023-04-19 | 2023-05-19 | 江苏海峡环保科技发展有限公司 | 污水处理智能控制系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3772704A1 (en) | 2021-02-10 |
US11126855B2 (en) | 2021-09-21 |
US20210042530A1 (en) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11126855B2 (en) | Artificial-intelligence powered ground truth generation for object detection and tracking on image sequences | |
Drews et al. | Aggressive deep driving: Combining convolutional neural networks and model predictive control | |
EP3706034A1 (en) | Movement prediction of pedestrians useful for autonomous driving | |
Tang et al. | Perception and navigation in autonomous systems in the era of learning: A survey | |
Drews et al. | Aggressive deep driving: Model predictive control with a cnn cost model | |
US20210073997A1 (en) | Future semantic segmentation prediction using 3d structure | |
US20210049415A1 (en) | Behaviour Models for Autonomous Vehicle Simulators | |
US20230281966A1 (en) | Semi-supervised keypoint based models | |
WO2020033345A1 (en) | Action localization using relational features | |
Dong et al. | Image transformer for explainable autonomous driving system | |
Benrachou et al. | Use of social interaction and intention to improve motion prediction within automated vehicle framework: A review | |
Zhang et al. | Optimized segmentation with image inpainting for semantic mapping in dynamic scenes | |
Chen et al. | Design and Implementation of AMR Robot Based on RGBD, VSLAM and SLAM | |
Viswanath et al. | Virtual simulation platforms for automated driving: Key care-about and usage model | |
US20220084228A1 (en) | Estimating ground truth object keypoint labels for sensor readings | |
US11605232B2 (en) | System and method for road sign ground truth construction with a knowledge graph and machine learning | |
Jin et al. | TOD3Cap: Towards 3D Dense Captioning in Outdoor Scenes | |
Ciamarra et al. | FLODCAST: Flow and depth forecasting via multimodal recurrent architectures | |
US20230347932A1 (en) | Evaluation of components of autonomous vehicles based on driving recommendations | |
Walsh | Leveraging Pre-Trained Detection Networks for Label Generation on New Datasets | |
KR102658711B1 (ko) | 경계선 지정을 통한 어노테이션 방법 | |
KR102599196B1 (ko) | 학습 데이터 생성에 관한 작업 비용 예측 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
US20240109557A1 (en) | Systems and methods for distribution-aware goal prediction for modular autonomous vehicle control | |
US20230360365A1 (en) | Open-vocabulary object detection in images | |
Kwon et al. | Framework for evaluating vision-based autonomous steering control model |
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 |