CN116868240A - 对二维图像的标注 - Google Patents

对二维图像的标注 Download PDF

Info

Publication number
CN116868240A
CN116868240A CN202280012892.XA CN202280012892A CN116868240A CN 116868240 A CN116868240 A CN 116868240A CN 202280012892 A CN202280012892 A CN 202280012892A CN 116868240 A CN116868240 A CN 116868240A
Authority
CN
China
Prior art keywords
model
landmark
landmarks
dimensional
dimensional images
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
CN202280012892.XA
Other languages
English (en)
Inventor
C·C·阿塔纳索埃
D·M·吕特盖特曼
D·扎加尼迪斯
J·拉蒙
M·德格鲁托拉
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.)
Inet Co ltd
Original Assignee
Inet Co ltd
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
Priority claimed from US17/179,596 external-priority patent/US20220245860A1/en
Application filed by Inet Co ltd filed Critical Inet Co ltd
Priority claimed from PCT/EP2022/051810 external-priority patent/WO2022167298A1/en
Publication of CN116868240A publication Critical patent/CN116868240A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于涉及对二维图像上的地标的标注的图像处理。在一个方面,由数据处理装置执行用于训练用于估计成像设备和二维图像中的对象的相对姿态的设备的方法。所述方法包括:识别所述对象的3D模型;识别所述对象的所述3D模型上的地标;使用来自所述3D模型的所述地标在投影上的位置的知识将所述3D模型投影到二维图像的集合中;以及训练地标检测机器学习模型以在所述二维图像的集合中识别所述地标。所述地标检测机器学习模型是用于估计成像设备的所述相对姿态的设备的一部分。

Description

对二维图像的标注
相关申请的交叉引用
本申请要求享有2021年2月2日提交的第20210100068号希腊申请和2021年2月19日提交的第17/179,596号美国申请的优先权,所述希腊申请和美国申请的内容通过引用并入本文。
背景技术
本说明书涉及图像处理,更具体地,涉及如下图像处理:该图像处理涉及对二维图像上的地标(landmark)的标注。
图像处理是一种类型的信号处理,其中被处理的信号是图像。输入图像可以被处理,例如,以产生输出图像或图像的表征。
在许多情况下,对图像的标注可以便于对图像的处理,特别是在依赖机器学习的图像处理技术中。标注可以使用结构化的信息或元数据来加标签于图像中的实体或实体的一部分。该标签可以指示例如类别(例如,猫、狗、手臂、腿)、边界、角点(corner)、位置或其他信息。该标签可以被用在各种各样的场景(context)——包括依赖机器学习和/或人工智能的场景——中。例如,经标注的图像的集合可以形成训练数据集,以用于在如医学成像、自动驾驶车辆、损害评估、面部识别和农业多种多样的场景中进行姿态估计、图像分类、特征提取和模式识别。目前,机器学习和人工智能模型需要针对由模型执行的特定任务客制化(customize)的大的数据集。
发明内容
本说明书描述了涉及如下图像处理的技术:该图像处理涉及对二维图像上的地标的标注。
在一个实施方式中,本说明书中所描述的主题可以体现在由数据处理装置执行的用于训练用于估计成像设备和二维图像中的对象的相对姿态的设备的方法中。所述方法包括:识别所述对象的3D模型;识别所述对象的所述3D模型上的地标;使用来自所述3D模型的所述地标在投影上的位置的知识(knowledge)来将所述3D模型投影到二维图像的集合中;以及训练地标检测机器学习模型以在所述二维图像的集合中识别所述地标。所述地标检测机器学习模型是用于估计成像设备的所述相对姿态的设备的一部分。
此实施方式以及其他实施方式可以包括以下特征中的一个或多个。所述方法可以包括:使用包括所述地标检测机器学习模型的设备来估计二维图像中的所述对象的相对姿态;确定所述相对姿态的估计的正确性;以及基于所述相对姿态的估计的所述正确性,进一步训练所述地标检测机器学习模型。可以在所述3D模型被投影到其中的所述二维图像的集合中估计所述对象的所述相对姿态。可以通过以下来确定所述相对姿态的估计的所述正确性:将所述3D模型的所述投影的相对姿态约束到所述二维图像的集合中;以及将不满足所述约束的所述相对姿态的任何估计分类为不正确的。识别所述对象的所述3D模型上的所述地标可以包括:通过将所述对象的所述3D模型投影到二维上来渲染(render)所述对象的二维图像的集合;将所述二维图像中的所述对象的不同的区域分配给所述对象的相应的部分;使用所分配的区域来确定所述对象的所述部分的可区分区域;以及将所述可区分区域反投影到所述对象的所述3D模型上,以识别对象的所述3D模型上的所述地标。
在另一个实施方式中,本说明书中所描述的主题可以体现在由数据处理装置执行的用于估计成像设备和对象的二维图像中的所述对象的相对姿势的方法中。所述方法包括:检测所述二维图像中的所述对象上的地标;对多个地标进行过滤以建立检测到的地标的多个子集;使用所述检测到的地标的相应的子集中的每个,计算所述二维图像中的所述对象的候选相对姿态;以及基于所述候选相对姿态中的至少一个来估计成像设备和对象的所述相对姿态。
所述方法可以包括对所述对象的所述候选相对姿态进行过滤。用于对所述候选相对姿态进行过滤的标准可以反映可能拍摄真实图像的真实世界条件。估计所述成像设备和所述对象的所述相对姿态可以包括:对多个所述候选相对姿态进行平均。检测所述对象上的所述地标可以包括:使用地标检测机器学习模型来检测所述地标。可以已经通过包括以下的过程训练了所述地标检测机器学习模型:识别所述对象的3D模型;识别所述对象的所述3D模型上的地标;使用来自所述3D模型的所述地标在投影上的位置的知识来将所述3D模型投影到二维图像的集合中;以及训练所述地标检测机器学习模型以在所述二维图像的集合识别所述地标。
在另一个实施方式中,本说明书中所描述的主题可以体现在由数据处理装置执行的用于识别对象的3D模型上的地标的方法中。所述方法包括:通过将对象的所述3D模型投影到二维上来渲染所述对象的二维图像的集合;将所述二维图像中的所述对象的不同的区域分配给所述对象的相应的部分;使用所分配的区域来确定所述对象的所述部分的可区分区域;以及将所述可区分区域反投影到所述对象的所述3D模型上以识别对象的所述3D模型上的所述地标。
此实施方式以及其他实施方式可以包括以下特征中的一个或多个。确定所述部分的所述可区分区域包括:检测所述部分在所述二维图像中的投影的角点。所述方法可以包括:在反投影到所述3D模型之前减少所述可区分区域的数目。可以通过对接近所述对象的外边界的可区分区域进行过滤来减少所述可区分区域的数目。可以通过以下来减少所述可区分区域的数目:根据所述二维图像中的不同的二维图像使所述可区分区域到所述3D模型上的反投影形成聚类;以及丢弃所述可区分区域的异常值。渲染所述对象的所述二维图像的集合可以包括:对所述对象进行排列(permute,置换);以及将所述3D模型的所述排列投影到二维上。渲染所述对象的所述二维图像的集合可以包括:使渲染变化,以模拟成像装置的特性的变化、以模拟可应用于二维图像的图像处理的特性的变化、或以模拟成像条件的变化。
上述方法的其他实施方案包括被配置为执行所述方法的动作的对应的系统和装置,以及有形地体现在机器可读数据存储设备上并且将数据处理装置配置为执行所述动作的计算机程序。
在附图和下文的描述中阐述了本说明书中所描述的主题的一个或多个实施方案的细节。根据该描述、附图和权利要求书,本主题的其他特征、方面和优点将变得明了。
附图说明
图1是获取对象的不同的图像的集合的示意性表示。
图2是由一个或多个摄像机获取的二维图像的集合的示意性表示。
图3是用于处理对象的摄影图像的计算机实施的过程的流程图。
图4是用于标注出现在3D模型上的地标的计算机实施的过程的流程图。
图5A、图5B、图5C、图5D示出了来自汽车的3D模型上的地标的标注的示例结果。
图6是用于产生地标检测器的过程的流程图,该地标检测器能够使用经标注的3D模型来检测真实二维图像中的地标。
图7是用于使用用于地标检测的机器学习模型来识别成像设备和对象之间的相对姿态的过程的流程图。
图8是表示已经使用图6的过程产生的用于地标检测的示例机器学习模型的准确性的直方图。
图9是表示使用图7的过程进行相对姿态预测的准确性的直方图。
各个附图中的相同的参考数字和名称指示相同的元件。
具体实施方式
图1是获取对象100的不同的图像的集合的示意性表示。出于例示性目的,对象100被示出为理想的、无标记的几何部分(例如,立方体、多面体、平行六面体等)的组件。然而,在真实世界应用中,对象将通常具有更复杂的形状,并且是有纹理的或以其他方式标记的,例如在基本(underlying)形状上具有装饰性装饰、磨损记号或其他标记。
一个或多个成像设备(在此,被例示为摄像机105、110、115、120、125)的集合可以被连续地或同时地设置在对象100周围的不同的相对位置处,并且以相对于对象100的不同的相对角度被定向。所述位置可以分布在对象100周围的三维空间中。所述定向也可以在三维中变化,即欧拉角度(或偏航、俯仰和滚动)都可以变化。摄像机105、110、115、120、125相对于对象100的相对定位和定向可以被称为相对姿态。由于摄像机105、110、115、120、125具有不同的相对姿态,因此摄像机105、110、115、120、125将各自获取对象100的不同的图像。
甚至简化的对象——例如对象100——包括多个地标130、131、132、133、134、135、136……。地标是对象100上的感兴趣的位置。地标可以被定位在对象上的几何位置处或基本几何形状上的标记处。如下文进一步所讨论的,地标可以被用于确定对象的姿态。地标还可以被用于其他类型的图像处理,例如用于对对象进行分类、用于提取对象的特征、用于定位对象上的其他结构(几何结构或标记)、用于评估对对象的损害、和/或用于用作根据其在这些和其他图像处理技术中可以进行测量的原点。
图2是由一个或多个摄像机——诸如摄像机105、110、115、120、125(图1)——获取的二维图像的集合200的示意性表示。集合200中的图像示出了处于不同的相对姿态的对象100。地标——例如地标130、131、132、133、134、135、136……——出现在不同的图像中的不同的位置处——如果它们出现的话。例如,在集合200中的最左边的图像中,地标133、134被对象100的剩余部分遮挡。相比之下,在最右边的图像210中,地标131、135、137被对象100的剩余部分遮挡。
图3是用于处理对象的摄影图像——诸如图像205、210、215、220(图2)——的计算机实施的过程300的流程图。过程300可以由执行数据处理活动的一个或多个数据处理设备来执行。过程300的活动可以根据一组机器可读指令、硬件组件或这些和/或其他指令的组合的逻辑来执行。
如上文所讨论的,根据所捕获的姿态,对象上的地标可以在不同的摄影图像中出现在不同的位置处。过程300产生地标检测器,该地标检测器已经使用机器学习技术被训练以识别对象的摄影图像中的地标。所识别的地标可以被用在各种各样的不同的图像处理应用——包括姿态估计、图像分类、特征提取、模式识别等——中。因此,可以独立地或作为更大的活动集合的一部分执行过程300。例如,可以结合过程400(图4)来执行过程300。
请注意,尽管本说明书涉及“对象”的摄影或真实“图像”,但是这些图像通常不是对象的单个物理实例的图像。更确切地说,对象的图像通常是共享共同的视觉可识别特性的不同的对象的数个不同的实例的图像。实施例包括汽车或器具的品牌和型号的不同的实例、动物分类群的不同的实例(例如,物种或物种的性别的实例)以及器官的不同的实例(例如,来自100个不同的人的股骨的x射线图像)。此外,摄影或真实图像可以是例如数字摄影图像,或替代地,可以使用X射线、声音或其他成像模态来形成。图像可以是数字格式或模拟格式。
在305处,执行过程300的设备识别出现在待被处理的一个或多个图像中的物理对象的3D模型。3D模型可以表示三维空间中的对象,通常脱离任何参考系。可以手动地、在算法上(过程建模)或通过扫描真实对象来创建3D模型。3D模型中的表面可以使用纹理映射来定义。
在许多情况下,单个3D模型将包括数个不同的组成部分。对象的部分是该对象的片段或体积,并且通常例如基于功能和/或结构与该对象的其他片段或体积区分开。例如,汽车的部分可以包括例如保险杠、轮、车身面板、引擎罩(hood)、挡风玻璃和车篷(hoods)。器官的部分可以包括例如室、瓣膜、腔、叶(lobe)、管道、膜、脉管系统等。植物的部分可以包括根、茎、叶子(leaf)和花。根据3D模型的性质,3D模型本身可以被划分为组成部分的3D模型。例如,使用计算机辅助设计(CAD)软件生成的汽车的3D模型可以是组成部分的3D CAD模型的组件。然而,在其他情况下,3D模型可以作为被细分为组成部分的单一整体开始。例如,器官的3D模型可以在医学或其他专业人员的指导下被划分为各种组成部分。
在一些情况下,识别出现在图像中的对象的数据可以从人类用户接收。例如,人类用户可以指示出现在图像中的汽车的品牌、型号和年份。在其他情况下,人类用户可以指示出现在图像中的人类器官的身份或植物的种类。在其他实施方式中,可以使用图像分类技术来识别对象。例如,可以训练卷积神经网络来输出用于图像中的对象或对象的一部分的分类标签。
可以各种各样不同的方式来识别对象的3D模型。例如,可以使用识别对象的数据来搜索3D模型的预先存在的库。替代地,可以请求产品的制造商提供3D模型,或可以扫描物理对象。
在310处,执行过程300的设备标注出现在3D模型上的地标。如上文所讨论的,这些地标是3D模型上的感兴趣的位置,并且可以在3D模型上被识别和标注。
图4是用于标注出现在3D模型上的地标的计算机实施的过程400的流程图。过程400可以例如根据一组机器可读指令、硬件组件或这些和/或其他指令的组合的逻辑、由执行数据处理活动的一个或多个数据处理设备来执行。可以独自地或与其他活动结合执行过程400。例如,可以在过程300(图3)中的310处执行过程400。
在405处,执行过程400的系统使用由组成部分形成的对象的3D模型来渲染对象的二维图像的集合。二维图像不是真实世界对象的实际图像。更确切地说,二维图像可以被认为是真实世界对象的图像的替代。这些替代二维图像从各种各样不同的角度和定向示出对象——好像摄像机从各种各样不同的相对姿态对对象进行成像。
可以多种方式使用3D模型来渲染二维图像。例如,可以使用射线跟踪或其他计算机图形技术。通常,对象的3D模型被扰动以用于渲染替代二维图像。因此,不同的替代二维图像可以例示3D模型的不同变化。通常,扰动可以模拟由3D模型表示的对象——或对象的部分——的真实世界变化。例如,在汽车的3D模型中,外部油漆和内部装饰的颜色可以被扰动。在一些情况下,可以添加、移除或替换部分(轮胎、轮毂罩和特征——例如车顶托架)。作为另一个实施例,在器官的3D模型中,生理相关尺寸和相对尺寸变化可以被用来扰动3D模型。
在一些实施方式中,可以扰动除了3D模型之外的方面以进一步使二维图像变化。通常,扰动可以模拟真实世界变化,所述变化包括例如,
-成像设备(例如,摄像机分辨率、变焦、焦点、光圈速度)的变化,
-图像处理(例如,数字数据压缩、色度二次采样)的变化,以及
-成像条件(例如,照明、天气、背景颜色和形状)的变化。
在一些实施方式中,在参考系中渲染二维图像。该参考系可以包括出现在对象后面的背景特征和出现在对象前面——并且可能地遮挡对象的一部分——的前景特征。通常,该参考系将反映在其中可能发现对象的真实世界环境。例如,汽车可以在类似于停车场的参考系中被渲染,而器官可以在生理上相关的场景中被渲染。也可以使参考系变化以进一步使二维图像变化。
通常,期望二维图像是高可变的。此外,替代二维图像的数目——以及变化的程度——可以取决于对象的复杂性和最终要使用3D模型上的所标注的地标来执行的图像处理。通过实施例的方式,可以渲染汽车的2000个或更多个(在相对姿态和排列方面)高可变的替代二维图像。因为二维图像是根据3D模型来渲染的,所以可以保留关于对象在二维图像中的位置的完备知识,不管二维图像的数目和变化的程度如何。
在410处,执行过程400的系统将在二维图像中所示出的对象的每个区域分配给该对象的一部分。如上文所讨论的,可以基于功能和/或结构将对象的3D模型划分为可区分的组成部分。当渲染3D模型的替代二维图像时,可以保存二维图像中的每个区域所属于的部分。因此,可以使用根据3D模型得到的完备知识将区域——其可以是二维图像中的像素或其他区——分配给3D模型的对应的组成部分。
在415处,执行过程400的系统确定二维图像中的部分的可区分区域。一个部分的可区分区域是可以使用一种或多种图像处理技术在替代二维图像中识别的区(例如,一个像素或一组像素)。例如,在一些实施方式中,使用例如Moravec角点检测器或Harris角点检测器(https://en.wikipedia.org/wiki/Harris_Corner_Detector)来检测每个图像中被分配给相同部分的区域的角点。作为另一个实施例,可以使用诸如例如SIFT/SURF/HOG/(https://en.wikipedia.org/wiki/Scale-invariant_feature_transform)的图像特征检测算法来定义可区分区域。
在420处,执行过程400的系统通过将二维图像中的可区分区域反投影到3D模型上来识别3D模型中的地标的集合。对应于二维图像中的可区分区域的3D模型上的体积被识别为3D模型上的地标。
在一些实施方式中,可以应用一种或多种过滤技术来减少这些地标的数目,并且确保质量——在反投影到3D模型上之前或之后。例如,在一些实施方式中,可以在反投影之前丢弃替代二维图像中的接近对象的外边界的区域。作为另一个实施例,可以丢弃距3D模型中的一个对应部分太远的区域的反投影。
在一些实施方式中,仅3D模型上的满足阈值标准的体积被识别为地标。可以多种方式确定该阈值。例如,可以收集是3D模型上的候选地标并且通过来自以不同的相对姿态和扰动渲染的不同的二维图像的反投影所识别的体积。可以识别候选地标的聚类并且可以丢弃异常值候选地标。例如,可以使用诸如OPTICS算法(https://en.wikipedia.org/wiki/ OPTICS_algorithm,DBSCAN https://en.wikipedia.org/wiki/DBSCAN的变体)的聚类技术来识别候选地标的聚类。可以使用例如Calinski-Harabasz指数(即,方差比标准)或其他标准来评估聚类的有效性。在一些实施方式中,可以选择和/或定制(例如,通过定制聚类算法的超参数)聚类技术以提高聚类的有效性。如果需要,可以合并在聚类中并且比阈值更接近在一起的候选地标。在一些实施方式中,3D模型的不同的部分上的候选地标聚类也可以被合并成单个聚类。在一些实施方式中,聚类中的数个候选地标的质心可以被指定为单个地标。
在一些实施方式中,3D模型中的地标可以基于可以预测它们在根据3D模型渲染的替代二维图像中的位置的准确性被过滤。例如,如果3D地标在二维图像中的位置太难以预测(例如,在阈值百分比的时间以上被错误地预测或者仅以低准确性被预测),那么可以丢弃该3D地标。因此,仅在二维图像中具有地标预测器可以相对容易地预测的位置的3D地标将保留。
在一些情况下,可以针对特定的数据处理活动来定制被识别的地标的数目。地标的数目可以多种方式被定制,所述方式包括例如:
-在405处,渲染更多或更少的二维图像,特别是使用3D模型的更多或更少的排列;
-在410处,将3D模型划分为区域被分配给的更多或更少的部分;
-在415处,放松或收紧用于将区域视为可区分的约束;和/或
-在420之后,在将可区分区域反投影到3D模型上之后,放松或收紧用于对地标进行过滤的约束。
图5A、图5B、图5C、图5D示出了来自3D模型——即,汽车的3D模型——上的地标的标注的示例结果。具体地,图5A、图5C示出了汽车的3D模型的侧视图和正视图,而图5B、图5D示出了同一3D模型的、但具有地标标注505的集合的侧视图和正视图。出于例示性的目的,每个地标标注505被示意性地表示为3D模型上的白点。如所示出的,地标标注505倾向于被定位在汽车的不同的部分的角点——包括挡风玻璃、侧窗和格栅(grillwork,格架)的角点——处。这与使用角点检测来确定替代二维图像中的部分的可区分区域(例如,在过程400中的415处)是一致的。此外,地标标注倾向于不被定位在通常在汽车的外边界处发现的部分的角点——诸如侧面镜的角点——上。这与在反投影之前(例如,在过程400中的420之前)对这样的角点进行过滤是一致的。
如上文所讨论的,当执行各种各样不同的图像处理技术时,可以使用经标注的3D模型。图6是用于产生地标检测器的过程的流程图,该地标检测器能够使用经标注的3D模型来检测真实二维图像中的地标。过程600可以例如根据一组机器可读指令、硬件组件或这些和/或其他指令的组合的逻辑、由执行数据处理活动的一个或多个数据处理设备来执行。可以独自地或与其他活动结合执行过程600。例如,过程600可以在过程300(图3)中的310之后被执行。
在605处,执行过程600的系统使用对象的经标注的3D模型来渲染对象的二维图像的集合。可以使用射线跟踪或其它计算机图形技术。如之前,通常期望二维图像尽可能地是可变的。可以使用对象、成像设备、图像处理和成像条件中的各种各样不同的相对姿态和/或扰动来生成二维图像的不同的集合。在结合过程400执行过程600的实施方式中,不需要生成新的渲染。更确切地说,通过使用根据3D模型得到的完备知识来添加来自3D模型的适当标注,可以简单地对现有的渲染进行标注。
在610处,执行过程600的系统使用二维图像来训练用于在真实世界二维图像中进行地标检测的机器学习模型,所述二维图像是使用对象的经标注的3D模型渲染的。用于地标检测的示例机器学习模型是在https://github.com/facebookresearch/detectron2处可获得的detectron2。
在615处,执行过程600的系统在特定类型的图像处理中应用已经使用替代二维图像训练的用于二维地标检测的机器学习模型。此外,可以通过将图像处理的某些结果作为不正确的而拒绝来进一步训练相同的机器学习模型。
更详细地,如上文所讨论的,可以例如在图像分类、特征提取、模式识别、姿态估计和投影中使用地标检测。使用根据3D模型渲染的替代二维图像开发的训练集可以被用来针对特定的图像处理进一步训练用于地标检测的机器学习模型。
通过实施例的方式,可以将二维地标检测机器学习模型应用于姿态识别。具体地,可以使用在替代二维图像上检测到的地标和3D模型上的地标之间的对应关系来确定替代二维图像中的对象的相对姿态。可以审查那些姿态预测,以使不满足某些标准的姿态无效。在一些实施方式中,基于在根据3D模型渲染替代二维图像时使用的标准来建立用于使姿态预测无效的标准。例如,如果在渲染替代二维图像时对成像设备和对象的相对姿态进行约束(例如,相对角度或位置的范围),则落在那些约束之外的预测的姿态可以被加标签为不正确的,并且例如在对用于地标检测的机器学习模型的进一步训练中被用作负面实施例。
在其他实施方式中,预测的姿态可以被限制于独立于在根据3D模型渲染替代二维图像时使用的任何标准的标准。例如,预测的姿态可以被限制于可能在真实世界姿态预测中发现的姿态。在这样的标准下被拒绝的姿态作为负面实施例将不一定是有用的,而是简单地被省略,因为地标检测不需要在现实条件之外被执行。
无论在根据3D模型渲染替代二维图像时是否使用标准,预测的姿态可以被约束到例如摄像机和对象之间的定义的距离范围(例如,在1-20米之间)和/或沿着摄像机与对象的中心之间的轴线的定义的滚动范围(例如,小于+/-10度)。
作为另一个实施例,可以使用其他计算机实施的技术来将姿态预测作为不正确而拒绝。例如,可以使用各种各样的计算机实施的技术——包括计算机图形技术(例如,射线跟踪)和计算机视觉技术(例如,语义分割和活动轮廓模型)来识别对象的边界。如果通过这样的技术识别的对象的边界与将由预测的姿态产生的对象的边界不匹配,则可以将预测的姿态作为不正确的而拒绝。
因此,过程600可以在训练期间针对特定类型的图像处理进一步定制地标检测机器学习模型而不依赖于真实图像。
图8是表示已经使用过程600(图6)产生的用于地标检测的示例机器学习模型的准确性的直方图。在该直方图中,沿y轴的位置指示地标的数目计数。沿x轴的位置指示以下的a)和b)之间的在所有图像上的平均距离:a)替代二维图像中的每个二维地标的位置——如由机器学习模型预测的,b)替代二维图像中的对应的二维地标的实际位置——如根据对应的3D模型通过射线跟踪计算的。该距离通过矩形的对角线长度被归一化,该矩形完全包含与替代二维图像处于相同相对姿态的汽车。因此,0.1的距离指示二维地标的预测的位置与如根据3D模型计算的该地标的实际位置相距汽车的尺寸的10%。
图7是用于使用用于地标检测的机器学习模型来识别成像设备和对象之间的相对姿态的过程700的流程图。可以例如根据一组机器可读指令、硬件组件或这些和/或其他指令的组合的逻辑、由执行数据处理活动的一个或多个数据处理设备执行过程700。过程700可以独自地或与其他活动结合被执行。例如,可以在过程600(图6)之后使用在该过程中产生的并且针对姿态识别定制的用于地标检测的机器学习模型执行过程700。
对于人类和动物,根据对对象的简单视觉瞄准(visual sighting)来如实地(faithfully)评估他们自己相对于其他对象的位置是每天的动作。这样的评估对于许多基本动作——包括到达、处理和避开对象——是必要的。对于机器,如实地推断对象的位置是更困难的,尤其是如果仅二维(非立体)图像是可用的。实际上,与使用他们的眼睛来定义默认参考系的人类和动物不同,机器必须估计观察者(例如,摄像机)的姿态以及被成像的对象的姿态。
由过程700实施的姿态识别提供了对摄像机和在真实世界二维图像中至少部分地可见的对象的相对姿态的高质量估计。
在705处,执行过程700的系统使用用于地标检测的机器学习模型来检测对象的真实二维图像上的地标。在一些实施方式中,使用过程600(图6)来产生用于地标检测的机器学习模型。真实二维图像中的地标将是二维地标。
在710处,执行过程700的系统对检测到的二维地标进行过滤,以产生检测到的地标的一个或多个子集。在一些实施方式中,过滤可以包括确定以下项之间的对应关系:
-对象的3D模型上的地标,以及
-检测到的二维地标。
例如,可以确定二维地标(在真实图像中检测到的)和三维地标(存在于对象的3D模型上)对的集合。
可以使用各种过滤操作来对这些对进行预过滤,并且产生检测到的地标和3D模型上的对应的地标的子集。例如,可以从真实图像中移除接近真实图像中的对象的外边界的二维地标。可以各种各样不同的方式——包括例如计算机视觉技术——来识别对象的边界。在一些实例中,在705处,可以使用由用于地标检测的机器学习模型检测到的相同的地标来检测对象的边界。
作为过滤操作的另一个实施例,可以随机地对由机器学习模型检测到的并且在真实二维图像中互相接近的二维地标进行过滤使得至少一个地标保持在附近。可以例如以像素为单位来测量二维地标之间的距离。在一些实施方式中,如果二维地标的距离是例如图像的宽度或高度的2%或更小或者图像的宽度或高度的1%或更小,则将二维地标指定为接近的。
作为过滤操作的又一个实施例,3D模型上的一个或多个地标可以与3D模型上的其他对称地标调换。例如,在对象是汽车的实施方式中,在汽车的乘客侧处的3D模型上的地标可以与在驾驶员侧处的地标调换。对于具有其他对称或近乎对称关系(例如,关于点或轴线旋转的)的对象,可以使用对应地定制的地标交换。
在715处,执行过程700的系统使用检测到的地标的子集来计算用于摄像机和对象的一个或多个候选相对姿态。可以各种各样不同的方式计算相对姿态。例如,诸如具有随机采样一致性的SolvePnP(在OpenCV库https://docs.opencv.org/4.4.0/d9/d0c/group__ calib3d.html#ga549c2075fac14829ff4a58bc931c033d处可获得)的计算机视觉方法可以被用来解决所谓的“透视n点问题”,并且基于二维和三维地标对来计算相对姿态。
这样的计算机视觉方法倾向于对异常值(即,检测到的2D地标位置远离实际位置的地标对)有复原力(resilient)。然而,计算机视觉方法通常没有足够的复原力来一致地克服地标检测器中的常见缺陷,包括例如在真实图像中不可见但被预测为在真实图像的角点中或在对象的边缘处的二维地标、不可以被可靠地识别为可见的或隐藏在对象后面的地标、对二维地标的为不可靠的或不准确的预测、彼此互换的对称地标、在相同位置处检测到的在视觉上类似的地标、以及在具有复杂局部结构的区域中检测到多个、聚类的地标。通过在710处对检测到的二维地标进行过滤,执行过程700的系统可以避免这些问题。
在720处,执行过程700的系统对使用检测到的地标的子集计算的候选相对姿态进行过滤。该过滤可以基于定义用于真实图像中的对象的潜在可接受的姿态的一组标准。通常,所述标准反映可能拍摄真实图像的真实世界条件,并且可以根据对象的性质被定制。例如,对于对象是汽车的候选相对姿态:
-摄像机应相对于汽车下方的地面在0米和5米之间的海拔处,
-摄像机应在汽车的20米内,
-摄像机相对于汽车下方的地面的滚动是小的(例如,小于+/-10度),
-在估计的姿态中的二维地标的位置应与3D模型上的对应的地标的位置一致,例如,如通过将真实图像中的二维地标反投影到3D模型上来确定,以及
-通过另一种技术识别的对象的边界应在很大程度上与将由预测的姿态产生的对象的边界匹配。如果候选相对姿态不满足这样的标准,则可以将其丢弃或以其他方式从随后的数据处理活动中排除。
在725处,执行过程700的系统基于剩余的(未被过滤的)候选相对姿态来估计真实图像中的对象的相对姿态。例如,如果仅单个候选相对姿态保留,则可以将其视为是相对姿态的最终估计。作为另一个实施例,如果多个候选相对姿态保留,则候选相对姿态之间的差异可以被确定并且可以被用来推断已经合理地估计相对姿态。然后,可以对剩余的候选相对姿态进行平均或以其他方式进行组合以估计相对姿态。
图9是表示使用过程700(图7)进行相对姿态预测的准确性的直方图。在该直方图中,沿y轴的位置指示姿态预测的数目计数。沿x轴的位置将姿态预测中的每个中的误差指示为以cm为单位的、预测的相对摄像机位置和地面真值(ground truth)摄像机位置之间的距离。在此直方图中,不考虑摄像机的角度。
在针对其预测姿态的200个图像中,针对17个没有预测到姿态。对于剩余的183个图像,平均准确性为26厘米。
本说明书中所描述的主题和操作的实施方案可以数字电子电路实施,或以计算机软件、固件或硬件——包括本说明书中所公开的结构以及其结构等同物——实施,或以它们中的一个或多个的组合实施。本说明书中所描述的主题的实施方案可以被实施为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,所述一个或多个计算机程序被编码在计算机存储介质上以用于由数据处理装置执行或以控制数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,所述传播信号被生成以编码信息以用于传输到合适的接收器装置以用于由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合或被包括在其中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理部件或介质(例如,多个CD、盘(disk)或其他存储设备)或被包括在其中。
本说明书中所描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的或从其他源接收的数据执行的操作。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,通过实施例的方式包括可编程处理器、计算机、片上系统或前述中的多个或前述的组合。该装置可以包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用程序、脚本或代码)可以任何形式的编程语言——包括编译或解释语言、声明性或过程性语言——编写,并且它可以任何形式被部署,包括作为独立的程序或作为模块、部件、子例程、对象或适合于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以被部署以在一个计算机上被执行或在位于一个站点或分布在多个站点并且通过通信网络互连的多个计算机上被执行。
本说明书中所描述的过程和逻辑流可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据操作并且生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路系统(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以被实施为专用逻辑电路系统(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
适合于执行计算机程序的处理器通过实施例的方式包括通用和专用微处理器二者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或被操作性地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据,或将数据传送到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或二者。然而,计算机不必具有这样的设备。此外,计算机可以被嵌入在另一个设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪盘驱动器)中,仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,通过实施例的方式包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统补充或并入专用逻辑电路系统中。
为了提供与用户的交互,本说明书中所描述的主题的实施方案可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户可以向计算机提供输入所通过的键盘和定点设备(例如,鼠标或追踪球)的计算机上实施。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的网络浏览器接收的请求而向网络浏览器发送网页。
因此,已经描述了主题的具体实施方案。其他实施方案在随附的权利要求书的范围内。在某些情况下,权利要求书中所记载的动作可以不同的顺序被执行,并且仍获得期望的结果。另外,在附图中所描绘的过程未必需要所示出的特定顺序或连续顺序来获得期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

Claims (17)

1.一种由数据处理装置执行的用于训练用于估计成像设备和二维图像中的对象的相对姿态的设备的方法,所述方法包括:
识别所述对象的3D模型;
识别所述对象的所述3D模型上的地标;
使用来自所述3D模型的所述地标在投影上的位置的知识将所述3D模型投影到二维图像的集合中;以及
训练地标检测机器学习模型以在所述二维图像的集合中识别所述地标,其中所述地标检测机器学习模型是用于估计成像设备的所述相对姿态的设备的一部分。
2.根据权利要求1所述的方法,还包括:
使用包括所述地标检测机器学习模型的设备来估计二维图像中的所述对象的相对姿态;
确定所述相对姿态的估计的正确性;以及
基于所述相对姿态的估计的所述正确性,进一步训练所述地标检测机器学习模型。
3.根据权利要求2所述的方法,其中:
在所述3D模型被投影到其中的所述二维图像的集合中估计所述对象的所述相对姿态。
4.根据权利要求3所述的方法,其中确定所述相对姿态的估计的正确性包括:
将所述3D模型的所述投影的相对姿态约束到所述二维图像的集合中;以及
将不满足所述约束的所述相对姿态的任何估计分类为不正确的。
5.根据权利要求1所述的方法,其中识别所述对象的所述3D模型上的所述地标包括:
通过将所述对象的所述3D模型投影到二维上来渲染所述对象的二维图像的集合;
将所述二维图像中的所述对象的不同的区域分配给所述对象的相应的部分;
使用所分配的区域来确定所述对象的所述部分的可区分区域;以及
将所述可区分区域反投影到所述对象的所述3D模型上,以识别对象的所述3D模型上的所述地标。
6.一种由数据处理装置执行的用于估计成像设备和对象的二维图像中的所述对象的相对姿态的方法,所述方法包括:
检测所述二维图像中的所述对象上的地标;
对多个地标进行过滤以建立检测到的地标的多个子集;
使用所述检测到的地标的相应的子集中的每个,计算所述二维图像中的所述对象的候选相对姿态;以及
基于所述候选相对姿态中的至少一个来估计成像设备和对象的所述相对姿态。
7.根据权利要求6所述的方法,还包括:对所述对象的所述候选相对姿态进行过滤。
8.根据权利要求7所述的方法,其中用于对所述候选相对姿态进行过滤的标准反映可能拍摄真实图像的真实世界条件。
9.根据权利要求6所述的方法,其中估计所述成像设备和所述对象的所述相对姿态包括:对多个所述候选相对姿态进行平均。
10.根据权利要求6所述的方法,其中检测所述对象上的所述地标包括:使用地标检测机器学习模型来检测所述地标,其中已经通过包括以下的过程训练了所述地标检测机器学习模型:
识别所述对象的3D模型;
识别所述对象的所述3D模型上的地标;
使用来自所述3D模型的所述地标在投影上的位置的知识将所述3D模型投影到二维图像的集合中;以及
训练所述地标检测机器学习模型以在所述二维图像的集合中识别所述地标。
11.一种由数据处理装置执行的用于识别对象的3D模型上的地标的方法,所述方法包括:
通过将对象的所述3D模型投影到二维上来渲染所述对象的二维图像的集合;
将所述二维图像中的所述对象的不同的区域分配给所述对象的相应的部分;
使用所分配的区域来确定所述对象的所述部分的可区分区域;以及
将所述可区分区域反投影到所述对象的所述3D模型上以识别对象的所述3D模型上的所述地标。
12.根据权利要求11所述的方法,其中确定所述部分的所述可区分区域包括:检测所述部分在所述二维图像中的投影的角点。
13.根据权利要求11所述的方法,还包括:在反投影到所述3D模型上之前减少所述可区分区域的数目。
14.根据权利要求13所述的方法,其中减少所述可区分区域的数目包括:对接近所述对象的外边界的可区分区域进行过滤。
15.根据权利要求13所述的方法,其中减少所述可区分区域的数目包括:
根据所述二维图像中的不同的二维图像使所述可区分区域到所述3D模型上的反投影形成聚类;以及
丢弃所述可区分区域的异常值。
16.根据权利要求11所述的方法,其中渲染所述对象的所述二维图像的集合包括:
对所述对象进行排列;以及
将所述3D模型的所述排列投影到二维上。
17.根据权利要求11所述的方法,其中渲染所述对象的所述二维图像的集合包括:使渲染变化,以模拟成像装置的特性的变化、以模拟可应用于二维图像的图像处理的特性的变化、或以模拟成像条件的变化。
CN202280012892.XA 2021-02-02 2022-01-26 对二维图像的标注 Pending CN116868240A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GR20210100068 2021-02-02
US17/179,596 2021-02-19
US17/179,596 US20220245860A1 (en) 2021-02-02 2021-02-19 Annotation of two-dimensional images
PCT/EP2022/051810 WO2022167298A1 (en) 2021-02-02 2022-01-26 Annotation of two-dimensional images

Publications (1)

Publication Number Publication Date
CN116868240A true CN116868240A (zh) 2023-10-10

Family

ID=88227252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280012892.XA Pending CN116868240A (zh) 2021-02-02 2022-01-26 对二维图像的标注

Country Status (1)

Country Link
CN (1) CN116868240A (zh)

Similar Documents

Publication Publication Date Title
Menze et al. Object scene flow
Menze et al. Object scene flow for autonomous vehicles
US8630460B2 (en) Incorporating video meta-data in 3D models
US9607391B2 (en) Image object segmentation using examples
EP3211596A1 (en) Generating a virtual world to assess real-world video analysis performance
CN114022830A (zh) 一种目标确定方法以及目标确定装置
Fang et al. Lane boundary detection algorithm based on vector fuzzy connectedness
US20220245860A1 (en) Annotation of two-dimensional images
US20200364877A1 (en) Scene segmentation using model subtraction
CN116052120A (zh) 基于图像增强和多传感器融合的挖掘机夜间物体检测方法
CN114118127B (zh) 一种视觉场景标志检测与识别方法及装置
CN113408595B (zh) 病理图像处理的方法、装置、电子设备及可读存储介质
CN113793250B (zh) 位姿评价方法、位姿确定方法、对应装置和电子设备
CN115601684A (zh) 突发事件预警方法、装置、电子设备及存储介质
CN116868240A (zh) 对二维图像的标注
CN114663917A (zh) 基于多视角的多人三维人体位姿估计方法及装置
CN113052118A (zh) 基于高速快球摄像机实现场景变换视频分析检测的方法、系统、装置、处理器及存储介质
EP4288941A1 (en) Annotation of two-dimensional images
Walczak et al. Locating occupants in preschool classrooms using a multiple RGB-D sensor system
US20230206493A1 (en) Processing images of objects and object portions, including multi-object arrangements and deformed objects
CN118318256A (zh) 图像处理的表征和改进
CN118451464A (zh) 处理包括多对象布置和变形对象的对象和对象部分的图像
Gallego Vila Parametric region-based foreround segmentation in planar and multi-view sequences
WO2023117472A1 (en) Processing images of objects and object portions, including multi-object arrangements and deformed objects
WO2023036631A1 (en) Characterizing and improving of image processing

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