CN118318256A - 图像处理的表征和改进 - Google Patents
图像处理的表征和改进 Download PDFInfo
- Publication number
- CN118318256A CN118318256A CN202280075400.1A CN202280075400A CN118318256A CN 118318256 A CN118318256 A CN 118318256A CN 202280075400 A CN202280075400 A CN 202280075400A CN 118318256 A CN118318256 A CN 118318256A
- Authority
- CN
- China
- Prior art keywords
- image
- landmark
- correctness
- images
- landmarks
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 71
- 238000012512 characterization method Methods 0.000 title description 7
- 230000006872 improvement Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 166
- 238000003384 imaging method Methods 0.000 claims abstract description 50
- 230000001131 transforming effect Effects 0.000 claims abstract description 17
- 238000010801 machine learning Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 description 105
- 238000001514 detection method Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 11
- 238000009877 rendering Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 8
- 230000004438 eyesight Effects 0.000 description 6
- 210000000056 organ Anatomy 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003909 pattern recognition Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 210000000214 mouth Anatomy 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
一种用于表征图像处理的正确性的方法包括:接收对象的实例的图像,其中所述图像是在不同的相对位姿下获取的;在所接收的图像中的每个中识别对象上的相应地标的位置;接收表征图像被获取时所述对象的实例和一个或多个成像设备中至少之一的位置差异或取向差异的信息;将在所述图像中的第一图像中识别的地标的位置基于所述位置差异或所述取向差异进行变换;以及将变换的地标的位置与在所接收的图像中的第二图像中识别的地标中的相应地标的位置进行比较;以及表征对所接收的图像中的至少之一中的地标的位置的识别的正确性。
Description
技术领域
本说明书涉及图像处理,更具体地涉及表征和可能地改进位姿(pose)估计和其他图像处理结果,包括对象计数、对象变形和/或排列的测量、对象状态的测量等。
背景技术
图像处理是其中被处理的信号是图像的一类信号处理。输入图像可以被处理例如以产生输出图像或对图像的表征。
图像处理的一个示例是位姿估计。如下文进一步所讨论的,位姿估计是从二维图像估计成像设备和对象的相对位置和取向的过程。位姿估计可以基于图像处理的其他结果。一个示例是地标识别。在地标识别中,对二维图像进行处理,以识别图像中的地标及其位置。地标的身份和位置是位姿估计可以基于的结果的示例。
发明内容
对过程的表征通常是用于对过程的控制或改进的必要前提。这也适用于图像处理技术,包括依赖于机器学习和/或人工智能的那些技术。
例如,对位姿估计以及位姿估计所基于的其他图像处理的正确性的表征可以被用来控制或改进各种不同类型的图像处理。如上文所讨论的,可以基于地标识别的结果估计位姿。在这样的情况下,对位姿估计的正确性的表征内在地体现了基本(underlying)地标识别结果的正确性。
此外,地标识别的结果可以被用在其他类型的图像处理(即,除了位姿估计以外的其他图像处理)中。示例包括依赖于机器学习和/或人工智能技术的图像分类、特征提取、模式识别和图像处理技术。这样的图像处理技术可以应用于机器人技术、医疗和医学成像、自动驾驶车辆、损伤评估、面部识别、太空旅行和农业等广泛的环境。通过对位姿估计和基本地标识别结果的正确性进行表征,还可以对其他各种类型的图像处理的正确性进行表征。
因此,在一个方面,一种用于表征图像处理的正确性的方法包括:接收对象的实例的第一图像和第二图像;估计所述第一图像中的所述对象的实例的相对位姿;接收表征在所述第一图像的获取和所述第二图像的获取期间以下中至少之一的位置差异或取向差异的信息:所述对象的实例;以及一个或多个成像设备;基于所述位置差异或所述取向差异,变换(transfer)所述第一图像中的所述对象的实例的估计的相对位姿;将所述对象的实例的变换的相对位姿与所述图像中的所述第二图像中的所述对象进行比较;以及基于所述对象的变换的相对位姿与所述图像中的所述第二图像中的所述对象的比较结果,表征对所述对象的实例的所述相对位姿的估计的正确性。所述第一图像和所述第二图像是在不同的相对位姿下获取的。
在另一方面,一种用于表征图像处理的正确性的方法包括:接收对象的实例的图像,其中所述图像是在不同的相对位姿下获取的;识别所接收的图像中的每个中的所述对象上的相应地标的位置;接收表征在所述图像被获取时以下中至少之一的位置差异或取向差异的信息:所述对象的实例;以及一个或多个成像设备;将在所述图像中的第一图像中识别的地标的位置基于所述位置差异或所述取向差异进行变换;将变换的地标的位置与在所接收的图像中的第二图像中识别的地标中的相应地标的位置进行比较;以及表征对所接收的图像中的至少之一中的所述地标的位置的识别的正确性。
这些方面和其他方面都可以包括以下特征中的一个或多个。该方法可以包括:将对所述相对位姿的估计的正确性与正确性阈值水平进行比较;以及响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,指示捕获所述对象的实例的图像的智能体(agent,代理)捕获所述对象的附加图像。该方法还可以包括以以下方式指示所述智能体捕获所述附加图像:以与所述第一图像和所述第二图像的相对位姿不同的相对位姿;或者以与所述第一图像和所述第二图像的特性不同的成像特性。
该方法可以包括:将对所述相对位姿的估计的正确性与正确性阈值水平进行比较;以及响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,从另外的图像处理中排除所述第一图像中的所述对象的实例的估计的相对位姿。可以通过接收对象的三维模型以及计算以不同位置或不同取向获取的所述三维模型的图像的特性来变换所述对象的相对位姿。计算所述三维模型的所述图像的特性可以包括:计算所述三维模型的所述图像中的地标的位置或计算所述三维模型的所述图像的外边界。计算所述三维模型的所述图像的特性可以包括:基于所述位置差异或所述取向差异来将所述三维模型投影。可以通过使用机器学习模型检测所述第一图像中的地标以及使用检测到的地标来估计所述对象的相对位姿来估计所述第一图像中的所述对象的相对位姿。
该方法可以包括迭代地重复以下步骤:接收图像、估计相对位姿、接收表征位置差异或取向差异的信息、变换估计的相对位姿,以及比较变换的相对位姿。所述迭代地重复可以一直进行直到达到正确性阈值水平为止。所述第一图像和所述第二图像可以是由同一成像设备获取的。表征所述位置差异或所述取向差异的所述信息可以根据所述第一图像和所述第二图像得出。接收表征所述位置差异或所述取向差异的所述信息可以包括:识别所述对象的实例的所述图像中的另一对象或所述对象的实例的一部分;以及基于所述另一对象或所述对象的实例的所述一部分来确定所述位置差异或所述取向差异。
可以通过估计所述对象和所述一个或多个成像设备的相对位姿来识别所述相应地标的位置。表征所述位置差异或所述取向差异的所述信息可以表征所述对象和所述一个或多个成像设备两者中的不同者。可以通过以下来表征对所述地标的位置的识别的正确性:将在所述图像中的第二图像和第三图像中识别的地标的位置基于相应的位置差异或取向差异进行变换;以及将来自所述图像中的所述第一图像、所述第二图像和所述第三图像的变换的地标进行组合。
表征对所述地标的位置的识别的正确性可以包括:将组合的变换的地标的位置与在所接收的图像中的所述第二图像中识别的地标中的相应地标的位置进行比较。接收表征所述位置差异或所述取向差异的信息可以包括:识别所述对象的实例的所述图像中的另一对象或所述对象的实例的一部分;以及基于所述另一对象或所述对象的实例的所述一部分来确定所述位置差异或所述取向差异。可以通过以下来变换地标的位置:接收所述对象的三维模型;以及将所述对象的所述三维模型投影以确定所述地标的位置。
该方法可以包括:将对所述地标的位置的识别的正确性与正确性阈值水平进行比较;以及响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,接收所述对象的实例的多个附加图像中的一个附加图像并且识别相应地标的位置,接收表征所述差异的信息,变换所述地标的位置,比较变换的地标的位置,以及表征对多个附加图像中的所述一个附加图像的所述地标的位置的识别的正确性。
该方法可以包括:将对所述地标的位置的识别的正确性与正确性阈值水平进行比较,以及响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,从另外的图像处理中排除对所述地标的位置的识别。
上述方法的其他实施方式包括被配置为执行方法的动作的相应系统和装置,以及有形地体现在机器可读数据存储设备上并配置数据处理装置以执行动作的计算机程序。
在附图和下文的描述中阐述一个或多个实施方式的细节。根据说明书和附图以及根据权利要求书,本发明的其他特征、目的和优点将变得明了。
附图说明
图1是获取对象的不同的图像的集合的示意性表示。
图2是由一个或多个相机(camera,摄像机)获取的二维图像的集合的示意性表示。
图3是用于表征图像处理的正确性的计算机实施的过程的流程图。
图4是图3的过程的一种实施方式的示意性表示。
图5示意性地表示地标位置的比较的不同的结果。
图6是图3的过程的第二次迭代的示意性表示。
图7示意性地表示各组地标的位置差异。
图8是图3的过程的多次迭代如何可以被用来确保结果是足够正确的示意性表示。
图9以图形的形式示意性地表示图3的过程的多次迭代如何可以被用来表征图像处理的结果。
图10是图3的过程的一种实施方式的示意性表示,该实施方式依赖于所接收的图像内部的信息来估计不同的图像中的对象或相机的位置差异和/或取向差异。
图11是用于将从第一图像变换的相对位姿与从第二图像估计的相对位姿进行比较的过程的示意性表示。
图12是用于使用用于地标检测的机器学习模型来估计成像设备与对象之间的相对位姿的过程的流程图。
图13是用于产生地标检测器的过程的流程图,该地标检测器能够使用标注的(annotated,注释的)三维模型检测真实二维图像中的地标。
图14是用于处理对象的图像的计算机实施的过程的流程图。
图15是用于标注三维模型上出现的地标的计算机实施的过程的流程图。
各个附图中的相同的参考数字指示相同的元件。
具体实施方式
图1是获取对象100的不同的图像的集合的示意性表示。出于例示性目的,对象100被示出为理想的、无标记的几何部分(例如,立方体、多面体、平行六面体等)的组件。然而,在真实世界应用中,对象将通常具有更复杂的形状,并且是有纹理的或以其他方式被赋予特征,例如在基本形状上具有装饰性装饰、磨损痕迹或其他标记。
一个或多个成像设备(在此,被例示为相机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的不同的图像。
可以在不同的参考系中定义相机与对象之间的相对位姿。例如,可以仅基于相机和对象来定义相机和对象的相对位姿的参考系,例如,通过在对象上的一点和相机上的一点之间绘制一条直线并且沿此直线选择一点。此线的长度定义了对象与相机之间的距离,并且此线可以被用来定义相机和对象的角度倾角。作为另一示例,可以相对于其他参考点(诸如,例如,地面上的位置或其他位置)来定义参考系。相对于这些点定义的距离和取向可以被转换为仅基于相机和对象定义的参考系中的距离和取向。
返回至图2,甚至简化的对象——例如对象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是用于表征图像处理——即位姿估计和位姿估计所基于的地标识别过程——的正确性的计算机实施的过程300的流程图。过程300可以由执行数据处理活动的一个或多个数据处理设备来执行。过程300的活动可以根据一组机器可读指令、硬件组件或这些指令和/或其他指令的组合的逻辑来执行。
在305处,执行过程300的设备接收感兴趣的物理对象的实例的两个或更多个图像。所述图像是以对象与成像设备之间的不同的相对位姿获取的。尽管所述图像可能是由执行过程300的同一设备获取的,但一般来说,获取所述图像的一个或多个设备将与实施过程300的设备不同。例如,图像可以由一个或多个智能电话、相机、医疗成像设备、激光雷达(LIDAR)相机等获取。在获取后,可以例如使用有线或无线数据通信将图像作为离散图像或视频流的一部分传送到实施过程300的设备。
在310处,执行过程300的设备使用所接收的图像本身来估计感兴趣对象和获取图像的设备的相对位姿。例如,可以检测地标,并且然后使用地标来估计对象的位姿。用于地标检测的一个示例机器学习模型是detectron2,其可以在https://github.com/ facebookresearch/detectron2获得。依赖于地标检测的位姿估计器的一个示例是OpenCV的功能SolvePNP,在https://docs.opencv.org/master/d7/d53/tutorial_py_pose.html对其进行了描述。
作为另一示例,可以使用下面描述的过程1200(图12)来估计相对位姿。此方法在估计位姿时使用对象的三维模型来识别所接收的图像中的地标。然后可以使用地标来估计对象的位姿。包括用于制作这样的地标检测器的过程的另一些细节例如在图13至图15和相关联的文本中进行描述。
在315处,执行过程300的设备使用除了在310处被用来估计相对位姿的信息以外的信息来估计第一图像和第二图像中对象或成像设备中至少之一的位置差异和/或取向差异。可以使用从外部源、从第一图像和第二图像本身或从两者提取的信息来估计位置差异和/或取向差异。位置差异和/或取向差异通常不是从在步骤310处用于估计位姿的信息得出的。
更详细地说,如上文所讨论的,对象和成像设备的相对位姿取决于对象和成像设备二者的位置和取向。因此,在以第一相对位姿获取的图像中,对象和成像设备都具有相应的位置和取向。如果其中一方的位置或取向(或位置和取向二者)发生变化,那么相对位姿也会发生变化。
然而,在315处,执行过程300的设备不是从用于估计对象与成像设备之间的相对位姿的信息中得出位置和/或取向的变化,而是使用其他信息来估计不同的图像中的对象或成像设备中的至少之一(而不一定是两者)的位置差异和/或取向差异。就相对于另一个参考点定义的(即不是仅参考对象和成像设备定义的)参考系而言,执行过程300的设备可以估计对象或成像设备中的至少之一的位置或取向变化,而与另一个的位置或取向无关。在一些实施方式中,假定对象和成像设备之一的位置和/或取向保持不变。
至于如何估计位置差异和/或取向差异,可以根据从各种各样的不同源提取的信息来估计差异,所述不同源包括:
-外部源(即,除了图像本身以外的源),
-基于图像中存在但未被用来估计对象的位姿的信息的图像本身,或者
-图像内部的信息和图像外部的信息二者。
用于确定对象或成像设备的位置差异和/或取向差异的信息的确切性质——以及执行过程300的设备接收此信息的方式——取决于应用环境。
例如,当图像是由人携带的单个智能电话、相机或其他便携式成像设备获取时,外部信息可以包括从设备的全球定位系统或从成像设备发送/接收的蜂窝和/或WiFi信号的多边定位等得出的位置信息。取向可以从成像设备中包括的例如加速度计、陀螺仪和/或磁力计等得出。在这样的情况下,外部信息由正在执行过程300的成像设备从获取在305处所接收的图像的同一设备接收,并且外部信息可以被用来估计新位姿。此外,可以假定被成像的对象的位置和取向在相对于另一个(不变的)点定义的参考系中保持不变。
一个示例场景可以是正在使用智能电话拍摄停放的汽车的照片或视频的个体。当智能电话在图像/帧之间移动时,电话的内部传感器可以被用来估计图像/帧之间的电话的位置和/或取向的变化。此外,可以假定停放的汽车相对于另一参考系(例如,相对于地面上一点定义的参考系)的位置和取向保持不变。
作为另一示例,图像可以由安装到另一个设备上的相机或其他成像设备获取。外部信息可以包括由安装设备本身或由监控安装设备和/或相机的传感器测量的位置和取向信息。一个示例是安装在机械臂或其他平移和/或旋转的设备上的相机。这样的设备通常包括参与调节平移和/或旋转以及可以提供适合于变换位姿估计的外部信息的内部传感器(例如,编码器、加速度计、陀螺仪、LVDT)。即使没有从相机安装于其上的设备的内部传感器得到该信息,也可以使用针对安装设备的其他传感器(例如,估计安装设备的位姿的多相机视觉系统)来变换位姿估计。在这样的情况下,由执行过程300的设备从相机安装于其上的设备或针对安装设备的传感器接收外部信息,并且将外部信息用于估计新位姿。
一个示例场景可以是固定地安装至机械臂的末端执行器的相机。当机械臂移动时,机械臂的内部传感器可以收集位置信息,并且该位置信息可以被用来调节臂的位置。此信息还可以被来估计图像/帧之间相机的位置和/或取向的变化。如果机械臂对静止工件进行操作,则可以假定工件相对于另一参考系的位置和取向保持不变。另一方面,如果工件在图像/帧之间移动(例如,在传送带或工作滑轨上),则执行过程300的设备可以估计不同图像/帧中的工件和相机二者的位置差异和/或取向差异。
另一示例场景可以是固定地安装到例如无人机或汽车等交通工具上的相机。当交通工具移动时,交通工具的内部传感器可以收集位置信息。此信息还可以被用来估计在图像/帧之间的相机的位置和/或取向的变化。如果相机正在对静止对象成像,则可以假定该对象相对于另一参考系的位置和取向保持不变。另一方面,如果对象也在图像/帧之间移动(例如,对象是也在移动的另一个交通工具),则执行过程300的设备可以从另一个对象的内部传感器接收位置信息,并且估计不同图像/帧中的对象和相机二者的位置差异和/或取向差异。
作为又一示例,相机可以被用在牙科成像中。例如,在一些实施方式中,相机可以相对于正被成像的对象(例如,牙齿)移动。例如,牙科医生或处于自我护理状态的个人可以在个人自身口腔内手动地移动相机。在一些实施方式中,相机可以保持固定不动,并且可以从同一位置获取具有不同的特性的不同的图像。例如,可以用不同的焦距(focus,焦点)、不同的成像滤光片和不同的光源获取图像。示例包括不同的偏振光源和滤光片、不同波长的光源和滤光片、不同强度的光源和滤光片等。在一些实施方式中,相机和对象的相对位置以及成像本身的特性都可以改变。此外,不一定要在相机和正被成像的对象的位置的同一相对位置处获取具有不同的特性的多个图像。例如,在相机在口腔内移动的第一次通过(pass)期间,可以获取具有第一组特性的图像。在第二次通过期间,可以获取具有不同的第二组特性的图像。
作为又一示例,图像可以由一个静止相机获取,该相机对在移动的对象进行成像。一个示例场景可以是对沿装配线或通过传送带运载的对象进行成像的相机。外部信息可以根据运载工具的运行参数和/或运载工具的传感器得出或者可以针对运载工具。例如,传感器可以测量传送带或工作滑轨的速度。在这样的情况下,执行过程300的设备从运载工具或从针对运载工具的传感器接收外部信息。此外,在一些实施方式中,可以假定所述静止相机相对于另一参考系的位置和取向保持不变。
作为又一示例,图像可以由多个相机获取,所述多个相机具有已知的空间和取向关系但例如同时对同一对象成像。外部信息可以表征空间和取向关系。在这样的情况下,执行过程300的设备无需在过程300的每次迭代中接收外部信息。相反,相机的空间和取向关系可以保持恒定。此外,在一些实施方式——包括同时获取多个图像的实施方式中,可以假定对象相对于另一参考系的位置和取向保持不变。
作为又一示例,内部信息可以从图像本身得出。例如,如下文进一步讨论的,可以使用不作为感兴趣对象的一部分的地标来估计第二图像中的相机的位置和取向。作为另一示例,作为感兴趣对象的一部分但不是被用来在310处估计位姿的地标可以被用来估计第二图像中的相机的位置和取向。不过,对第二图像中的相机的位置和取向的这样的估计可以被用来估计不同的图像中的位置差异和/或取向差异。内部信息被包括在305处接收的图像中,并且由执行过程300的设备在305处接收。
在320处,执行过程300的设备使用在315处估计的位置差异和/或取向差异变换来自图像中的第一图像的第一相对位姿估计。变换可以多种不同的方式完成。例如,变换可以包括根据位置差异和/或取向差异对第一相对位姿进行仿射变换。作为另一示例,可以使用已在具有相对或绝对位姿的图像配对上训练过的神经网络来变换第一相对位姿。作为又一示例,可以使用视觉里程测量方法来变换第一相对位姿。在对象的三维模型可用的情况下,执行过程300的设备可以假定第一相对位姿估计是正确的,然后将三维模型投影,以计算如果对象和成像设备中的一个或两个的位置和/或取向如315处所估计的那样发生变化则对象会如何出现。
在325处,执行过程300的设备将从320处变换的第一相对位姿与从310处根据第二图像估计的第二相对位姿估计进行比较。该比较可以多种不同的方式进行,并且可以指示相对位姿估计的正确性。
例如,在依赖于地标检测的过程300的实施方式中,可以将第二图像中的地标的位置与通过变换第一相对位姿形成的假设图像中的相同地标的计算位置进行比较。在320处的变换依赖于对象的三维模型的情况下,地标的位置的这些差异指示根据原始图像(来自310)的地标检测和/或来自315的估计位置差异中的误差。如果估计位置差异中的误差足够小(例如,当图像是在具有非常精确的位置和取向信息的场景下获取的时),则地标的位置的差异可以归因于作为310处的相对位姿估计的基础的地标检测过程中的误差。可以表征用于地标检测的图像处理的正确性。
请注意,尽管本说明书提到了“对象”的三维模型,但三维模型通常不是对象的单个物理实例的模型。相反,三维模型通常是共享共同特性的不同对象的通用理想化模型。示例包括某一品牌和型号的汽车或电器的三维模型,而不考虑汽车或电器的具体实例的细节。其他示例包括动物分类群的三维模型(例如,物种或物种性别的实例)和器官的三维模型。然而,在一些实施方式中,三维模型是对象的单个物理实例的模型。例如,三维模型可以通过对真实对象的单个实例进行三维扫描(例如,使用激光扫描仪、激光雷达设备等)来形成。
返回至325,作为另一示例,在其他实施方式中,如下文进一步讨论的,可以通过将来自320的已从第一相对位姿变换过来的对象的外部边界与处于从310估计的第二相对位姿估计的同一对象的外部边界进行比较来比较位姿估计。再次,这可以指示相对位姿估计的正确性。
在一些实施方式中,比较还可以被用来识别相对位姿估计不同的特定原因。例如,如果地标的位置的差异在大小和方向上是一致的,则可以识别出系统误差。作为另一示例,由于对多个不同的图像多次执行过程300,以及例如,对不同的迭代的结果进行平均,因此可以表征测量的精度。事实上,在一些实施方式中,过程300的多次迭代可以被用来确定图像处理的标准误差。
作为又一示例,如下文进一步讨论的,可以检测出持续显示相对大的位置差异的异常值地标,尽管其他地标显示的位置差异要小得多。在一些实施方式中,造成异常值地标偏离预期的原因可以归因于图像处理场景所特有的真实世界情况。这样的情况的示例包括例如正被成像的对象的局部损坏或变形、局部制造缺陷或导致一些(而非全部)地标的位置出现不符的其他情况。
图4是过程300的一个实施方式的示意性表示。在所例示的实施方式中,一个或多个相机对对象405进行成像,所述一个或多个相机相继地或同时地设置在静止对象405周围的不同位置和/或取向410、412、414处。成像产生图像415、417、419。在过程300的单次迭代中,仅需提供和使用图像415、417、419中的两个图像。然而,如下文进一步讨论的,也可以提供三个或更多个图像,并且可以执行过程300的多次迭代。
在第一次迭代中,在每个图像415、417中识别地标420。地标420可以被用来估计每个图像415、417中对象405和成像设备的相对位姿(即图3中的310)。在所例示的实施方式中,大部分(但不是全部)地标420对于图像415、417是共有的。一个例外是地标420、422,其在图像415中是可见的但是在图像417(和图像419)中被对象405的其他部分遮挡。在其他实施方式中,其他地标在一些图像中将是可见的,而在其他图像中被遮挡。
另外,可以根据除了相对位姿估计以外的信息来估计位置和/或取向410、412之间的差异。例如,可以使用415、417外部的信息、图像415、417内部的信息或两者。这些差异可以被用来将图像415、417中的一个图像变换到图像415、417中的另一个图像。由于在所例示的实施方式中对象405是静止的,因此变换仅需考虑一个或多个成像设备的位置和/或取向410、412的差异。然而,在其他实施方式中,也可以在变换期间考虑对象405的位置差异和/或取向差异。
在所例示的实施方式中,出于例示性目的,图像415的变换(即过程300中的320)用箭头425和对象405的假设新图像430表示。通常,对象405的完整新图像430并不被实际生成或渲染。相反,变换仅需得出在给定位置和/或取向410、412之间的差异的情况下(例如,通过基于差异将对象的三维模型投影)会产生的假设新图像中各地标435的位置。图像417中的至少一些地标420具有相应的地标435。
在所例示的实施方式中,将图像417中的地标420的位置与相应的地标435进行比较。这种比较被示意性地表示为天平440,但也可以通过确定相应地标420、435的x坐标和y坐标的差异来实现。
图5示意性地表示两个任意地标位置比较(即与图4无关)的不同结果505、510。结果505、510中的每个点都位于笛卡尔图中,以表示在一个图像中检测到的相应地标的位置与从另一个图像中变换过来的相应地标的位置之间的x坐标差Δx和y坐标差Δy。如上文所讨论的,变换是基于表征两个图像中对象和/或成像设备的位置差异和/或取向差异的外部或内部信息。如所示出的,结果505比结果510更紧密地聚集,从而指示产生结果505的图像处理比产生结果510的图像处理更正确。
每个结果505、510还示意性地表示阈值515,该阈值指示位置偏差的可接受量。例如,在结果505中,许多位置差异都在阈值之内,而在结果515中,许多位置差异都在阈值之外。
图6是过程300的第二次迭代的示意性表示。可以与图4中表示的第一次迭代相结合地执行所例示的第二次迭代。在此第二次迭代中,在每个图像417、419中识别地标420。在许多情况下,可以重复使用在第一次迭代中在图像417中识别的一些相同地标。地标420可以被用来估计每个图像417、419中对象405和成像设备的相对位姿。可以使用其他信息来估计位置和/或取向412、414之间的差异。这些差异可以被用来将图像417、419中的一个变换到图像417、419中的另一个,如由箭头605和假设新图像610示意性地表示的。图像419中至少一些地标420具有相应地标615。再次将图像419中的地标420的位置和相应地标615的位置进行比较,如天平440示意性地表示的。
在一些实施方式中,可以在过程300的多次迭代中对地标位置进行比较,以表征图像处理的结果。此外,比较不需要被表达为一个图像中检测到的单个地标的x、y位置与从另一图像中变换的相应地标的x、y位置的直接比较。相反,比较可以被表达为地标群或子群的位置差异。例如,可以定义地标的区域性分组并对其进行比较,以表征局部(即逐个区域(region by region))位姿估计的正确性。例如,在对象的底部区域处的地标的紧密匹配可以指示在该区域中的位姿估计更正确,而在另一区域处的欠佳匹配可以指示在此另一区域中的位姿估计较不正确。
此外,位置差异可以反映例如x、y位置的平均差异、多个地标的重心差异或说明以下的其他差异:识别特定地标的可靠性、地标自身之间的空间关系以及对象和/或相机的取向以及其他参数。
图7示意性地表示各组地标的位置差异705。在包括x轴710和y轴715的条形图中呈现位置差异705。沿x轴710的每个条形块指示过程300的迭代中两组地标的总体位置差异。在所例示的实施方式中,使用以下符号指定条形块:“l->2,”“2->3,”……。此符号指示条形块与下述迭代相关联,在该迭代中,地标从第一图像(例如,图像1、图像2……)变换到第二图像(例如,图像2、图像3……)的估计位置和/或取向。
沿y轴715的条形块的高度指示总体位置差异的不确定性。例如,高度可以反映例如组内相应地标的位置之间的距离总和。
通过对连续迭代进行比较,可以辨别出关于特定位姿估计的细节。例如,在位置差异705中,涉及图像4的每次比较似乎都比涉及其他图像的比较具有更大的位置不确定性。这种较大的位置不确定性可以被视为如下指示,即根据图像4进行的位姿估计不如根据其他图像进行的位姿估计正确。
图8是过程300的多次迭代如何可以被用来确保地标检测和位姿估计的结果足够正确的示意性表示。具体来说,不是将从单个图像变换的地标位置与另一个图像中的地标位置进行比较,而是可以从多个图像变换地标,然后进行比较。例如,在所例示的实施方式中,地标可以从图像415、417二者变换——以及可能地从处于不同位置和/或取向的一个或多个其他图像805变换。如前所述,出于例示性目的,变换被示意性地表示为箭头710和假设新图像815的集合。
从多个图像415、417、805的变换产生在给定获取图像415、417、805所处于的位置和/或取向与位置和/或取向414之间的差异的情况下会产生的假设新图像中不同地标的聚类820。
聚类820的特性可以被确定并且被用来逐个地标(landmark-by-landmark)表征图像处理的正确性。例如,聚类中非常窄的散布(spread,扩展)指示地标检测和位姿估计更正确,而宽散布指示地标检测和位姿估计较不正确。聚类中的位置的散布可以多种方式确定。例如,在一些实施方式中,可以将单个地标与相应地标的平均位置的位置偏差作为地标检测和位姿估计的正确性的度量。
在其他实施方式中,可以在求平均值之前对从不同图像415、417、805变换的地标进行过滤,以去除异常值和不正确的地标和位姿估计。
在另外的其他实施方式中,还可以在求平均值之前对地标的位置进行加权。例如,可以根据源图像415、417、805的位置和/或取向与图像419的位置和/或取向414的接近程度对位置进行加权。这样的加权将减少由于估计源图像415、417、805和图像419中对象或相机的位置差异和/或取向差异而产生的任何误差的影响。
图9以图形905的形式示意性地表示过程300的多次迭代如何可以被用来表征图像处理的结果。图形905包括x轴910和y轴915。沿x轴910的位置指示迭代次数,即地标从图像变换到成像设备与对象之间的另一个位置和/或取向的次数。沿y轴915的位置指示将不同变换的结果组合时各个地标的位置的不确定性。例如,沿y轴915的位置可以反映一个聚类的散布,例如,被变换的地标位置识别处于特定位置和/或取向的地标的位置的精度。
在图形905中,第一地标的位置不确定性被示出为实心点,而第二地标的位置不确定性被示出为x。一般来说,随着从其变换地标的图像数量增加,位置不确定性将降低。此外,随着从其变换地标的图像数量增加,地标的位置不确定性一般将渐近地接近最小值。此最小值可以作为图像处理的标准误差。
图形905中还例示了阈值水平920。阈值水平920可以指定位置不确定性足够低的水平和/或不可接受的高的水平。在一些实施方式中,阈值水平920可以被用作交互式过程的一部分,以确保获取并处理足够数量和/或质量的图像(例如,图像415、417、805)。例如,在个人使用智能电话拍摄停放的汽车的照片或视频的场景下,可以指示个人继续获取图像,直到已达到可接受的低位置不确定性。
图10是过程300的一个实施方式的示意性表示,该过程依赖于所接收的图像内部的信息来估计不同图像中对象或相机的位置差异和/或取向差异。
在所例示的实施方式中,对象405位于其他对象1005、1010附近。对象1005、1010的确切性质将取决于特定场景。例如,对象1005、1010可以是交通工具、建筑物或景观特征。作为另一示例,对象1005、1010可以是装配线附近的基础设施部件,例如灯、轨道、地面标记等。
在所例示的实施方式中,对象1005、1010与对象405分离,并且不是对象405的一部分。但情况并不一定如此。例如,在一些实施方式中,对象405的组成部分或其他部分可以被用来估计不同图像中对象或相机的位置差异和/或取向差异。
不过,除了在310处被用来估计相对位姿的信息以外的信息被用来估计不同图像中对象或相机的位置差异和/或取向差异。例如,在310处可以使用对象405的一些部分/组成部分来估计相对位姿,而可以使用对象405的其他部分/组成部分来估计不同图像中对象或相机的位置差异和/或取向差异。
图11是用于将从第一图像变换的相对位姿和从第二图像估计的相对位姿进行比较的过程1100的示意性表示。例如,可以在过程300中在325处使用在320处变换的位姿和在310处估计的位姿(图3)来执行过程1100。在过程1100中,通过比较图像中对象的外边界和从另一图像变换过来的对象的外边界来比较相对位姿估计。外边界之间的对应关系表征位姿估计的正确性。
与依赖于地标位置进行的比较一样,依赖于外边界或其他参数来表征正确性的比较可以在过程300的多次迭代中进行,以表征图像处理的结果。此外,可以将变换的结果进行组合和比较,例如,与阈值进行比较,以确定位姿估计是否足够正确。此外,不是将位姿估计的外边界(或其他参数)作为一个单一整体进行比较,而是可以比较外边界(或其他参数)的部分,以局部表征位姿估计的正确性。例如,在对象的底部区域处的位姿估计的紧密匹配可以指示位姿估计在此区域中更正确,而在另一区域处的位姿估计的欠佳匹配可以指示位姿估计在此另一区域中较不正确。
可以各种各样不同的方式使用对图像处理的结果——包括结果505、510(图5)、705(图7)、905(图9)——的表征。
例如,在一些实施方式中,表征可以被用来将某些结果视为不够正确或不足而丢弃。例如,参考图7,根据图像4进行的位姿估计可以被视为不够正确,并且可以从后续图像处理丢弃或过滤根据图像4进行的位姿估计。作为另一示例,可以继续或重复图像获取,以确保位置不确定性低于阈值。例如图9中示出一个示例。
在一些实施方式中,不是仅获取更多的图像,而是可以通过获取不同的图像来控制或改进图像获取,所述不同的图像为例如来自不同的相对位置或变焦的图像、具有不同的曝光的图像、具有不同的光学滤光片和/或照明源(例如,颜色、强度、偏振)的图像、具有不同的帧率的图像等。
图12是用于使用用于地标检测的机器学习模型估计成像设备与对象之间的相对位姿的过程1200的流程图。过程1200可以由执行数据处理活动的一个或多个数据处理设备来执行,例如,根据一组机器可读指令、硬件组件或这些指令和/或其他指令的组合的逻辑来执行。可以单独地执行或者可以与其他活动相结合地执行过程1200。例如,可以在过程300(图3)中的310处执行过程1200。
由过程1200实现的位姿识别可以提供相机和在真实世界二维图像中至少部分地可见的对象的相对位姿的高质量估计。
在1205处,执行过程1200的系统使用用于地标检测的机器学习模型检测对象的真实二维图像上的地标。在一些实施方式中,用于地标检测的机器学习模型是使用过程1300(图13)产生的。真实二维图像中的地标将是二维地标。
在1210处,执行过程1200的系统对检测到的二维地标进行过滤,以产生检测到的地标的一个或多个子集。在一些实施方式中,过滤可以包括确定以下两者之间的对应关系:
-对象的三维模型上的地标;以及
-检测到的二维地标。
例如,可以确定(在真实图像中检测到的)二维地标和(存在于对象的三维模型上的)三维地标的配对的集合。
在任何情况下,都可以使用各种过滤操作对这些配对进行预过滤,并且产生检测到的地标和三维模型上的相应地标的一个或多个子集。例如,可以去除来自真实图像的、与真实图像中对象的外边界接近的二维地标。可以各种各样不同的方式(包括例如计算机视觉技术)识别对象的边界。在一些情况下,可以使用在705处由用于地标检测的机器学习模型检测到的相同地标来检测对象的边界。
作为过滤操作的另一个示例,可以随机过滤由机器学习模型检测到的并且在真实二维图像中彼此接近的二维地标,使得至少一个地标保持在附近。可以测量二维地标之间的距离,例如以像素为单位测量。在一些实施方式中,如果二维地标的距离为图像的宽度或高度的例如2%或更小或为图像的宽度或高度的1%或更小,则将二维地标指定为接近。
作为过滤操作的又一示例,可以将三维模型上的一个或多个地标与三维模型上的其他对称地标交换。例如,在对象为汽车的实施方式中,可以将三维模型上位于汽车乘客一侧的地标与位于驾驶员一侧的地标交换。对于具有其他对称或接近对称关系的(例如,围绕点或轴旋转的)对象,可以使用相应地定制的地标交换。
在1215处,执行过程1200的系统使用检测到的地标的一个或多个子集计算相机和对象的一个或多个候选相对位姿。可以各种各样不同的方式计算相对位姿。例如,计算机视觉方法,诸如带有随机样本共识的SolvePnP(可从OpenCV库处获取
https://docs.opencv.org/4.4.0/d9/d0c/group__calib3d.html#ga549c2075f ac14829ff4a58bc931c033d)可以被用来解决所谓的“多点透视(perspective-n-point)问题”,并且基于二维地标和三维地标的配对计算相对位姿。
这样的计算机视觉方法倾向于对异常值——即检测到的二维地标位置与实际位置相距甚远的地标配对——有适应力。然而,计算机视觉方法通常缺乏足够的适应力来始终如一地克服地标检测器中的常见缺陷,包括例如二维地标在真实图像中是不可见的但却被预测为位于真实图像的角落中或对象的边缘处,地标无法被可靠地识别为可见的或隐藏在对象后面;对二维地标的预测不可靠或不准确,对称地标被相互交换,在同一位置处检测到视觉上相似的地标,以及在具有复杂的局部结构的区域中检测到多个聚集的地标。通过在710处过滤检测到的二维地标,执行过程700的系统可以避免这些问题。
在1220处,执行过程1200的系统过滤使用检测到的地标的一个或多个子集计算出的一个或多个候选相对位姿。该过滤可以基于一组标准,所述标准定义了真实图像中对象的潜在可接受位姿。一般来说,所述标准反映可能拍摄真实图像的真实世界条件,并且可以根据对象的性质进行定制。例如,对于对象为汽车的候选相对位姿:
-相机应相对于汽车下方的地面在0米与5米之间的高度处,
-相机应在汽车的20米内,
-相机相对于汽车下方的地面的滚动是小的(例如,小于+/-10度),
-估计的位姿中的二维地标的位置应与三维模型上的相应地标的位置(例如,如通过将真实图像中的二维地标反投影到三维模型上确定的位置)一致,以及
-由另一种技术识别的对象的边界应很大程度上与会由预测的位姿产生的对象的边界匹配。如果候选相对位姿不满足这样的标准,则可以将其丢弃或以其它方式从后续数据处理活动中排除。
在1225处,执行过程1200的系统基于剩余的(未过滤的)候选相对位姿来估计真实图像中对象的相对位姿。例如,如果仅剩余单个候选相对位姿,则可以将其视为相对位姿的最终估计。作为另一示例,如果剩余多个候选相对位姿,则可以确定候选相对位姿之间的差异,并且将该差异用来得出相对位姿已被合理地估计的结论。然后,可以对剩余的候选相对位姿求平均值或以其他方式进行组合,以估计相对位姿。
图13是用于制作地标检测器的过程的流程图,该地标检测器能够使用标注的三维模型检测真实二维图像中的地标。过程1300可以由执行数据处理活动的一个或多个数据处理设备来执行,例如,根据一组机器可读指令、硬件组件或这些指令和/或其他指令的组合的逻辑来执行。可以单独地执行或者可以与其他活动相结合地执行过程1300。例如,可以使用用于地标检测的机器学习模型来执行过程1200(图12),该机器学习模型是为过程1300中的位姿识别而制作和定制的。
在1305处,执行过程1300的系统使用对象的标注的三维模型渲染对象的二维图像的集合。可以使用射线跟踪或其他计算机图形技术。如前所述,通常期望的是二维图像尽可能多变。可以使用对象、成像设备、图像处理和成像条件的各种各样的不同的相对位姿和/或扰动来生成多种多样的二维图像集合。在一些实施方式中,无需生成新的渲染。相反,可以用从三维模型得出的完备知识,通过添加来自三维模型的适当标注,简单地对现有的渲染进行标注。
在1310处,执行过程1300的系统利用使用对象的标注的三维模型渲染的二维图像,训练用于在真实世界二维图像中进行地标检测的机器学习模型。用于地标检测的示例机器学习模型是detectron2,其可以在https://github.com/facebookresearch/ detectron2获得。
在1315处,执行过程1300的系统在特定类型的图像处理中应用已使用替代(surrogate)二维图像训练的用于二维地标检测的机器学习模型。此外,可以通过将图像处理的某些结果作为不正确的而拒绝来进一步训练同一机器学习模型。
更详细地,可以例如在图像分类、特征提取、模式识别、位姿估计和投影中使用地标检测。使用根据三维模型渲染的替代二维图像开发的训练集可以被用来针对特定的图像处理进一步训练用于地标检测的机器学习模型。
例如,如上文所讨论的,二维地标检测机器学习模型可以被应用于位姿识别。特别是,替代二维图像上检测到的地标与三维模型上的地标之间的对应关系可以被用来确定替代二维图像中对象的相对位姿。可以对这些位姿预测进行审查,以使不满足特定标准的位姿无效。在一些实施方式中,用于使位姿预测无效的标准是基于从三维模型渲染替代二维图像时使用的标准建立的。例如,如果在渲染替代二维图像时成像设备和对象的相对位姿受到限制(例如,相对角度或位置的范围),则落在这些限制外的预测位姿可以被标记为不正确,并且在进一步训练用于地标检测的机器学习模型时被用作例如负面示例。
在其他实施方式中,预测的位姿可以受限于与从三维模型渲染替代二维图像时使用的任何标准无关的标准。例如,预测的位姿可以受限于在真实世界位姿预测中可能发现的位姿。在这样的标准下被拒绝的位姿作为负面示例将不一定是有用的,而只是被省略,因为不需要在现实条件之外执行地标检测。
无论在从三维模型渲染替代二维图像时是否使用标准,预测的位姿都可以受到限制,例如,受限于在相机与对象之间的距离的限定范围(例如,1米-20米之间)和/或沿相机与对象的中心之间的轴线的限定的滚动范围(例如,小于+/-10度)。
作为另一示例,可以使用其他计算机实施的技术来将位姿预测作为不正确的而拒绝。例如,可以使用各种各样的计算机实施的技术——包括计算机图形技术(例如,射线跟踪)和计算机视觉技术(例如,语义分割和活动轮廓模型)来识别对象的边界。如果通过这样的技术识别的对象的边界与将由预测的位姿产生的对象的边界不匹配,则可以将预测的位姿作为不正确的而拒绝。
因此,过程1300可以在训练期间针对特定类型的图像处理进一步定制地标检测机器学习模型而不依赖于真实图像。
图14是用于处理对象的图像(诸如图像205、210、215、220(图2))的计算机实施的过程1400的流程图。过程1400可以由执行数据处理活动的一个或多个数据处理设备来执行。过程1400的活动可以根据一组机器可读指令、硬件组件或这些指令和/或其他指令的组合的逻辑来执行。
如上文所讨论的,根据所捕获的位姿,对象上的地标可以在不同的摄影图像中出现在不同的位置处。过程1400产生地标检测器,该地标检测器已经使用机器学习技术被训练以识别对象的摄影图像中的地标。所识别的地标可以被用在各种各样的不同的图像处理应用(包括位姿估计、图像分类、特征提取、模式识别等)中。因此,过程1400可以独立地或作为更大的活动集合的一部分执行。例如,可以执行过程1400以生成标注的三维模型,该标注的三维模型被用在过程1200(图12)中。
在1405处,执行过程1400的设备识别出现在待被处理的一个或多个图像中的物理对象的三维模型。三维模型可以在三维空间中表示对象,通常脱离任何参考系。可以手动地、算法地(过程建模)或通过扫描真实对象来创建三维模型。可以用纹理映射来定义三维模型中的表面。
在很多情况下,单个三维模型将包括数个不同的组成部分。对象的各部分是该对象的片段或体块(volume),并且通常例如基于功能和/或结构与该对象的其他片段或体块区分开。例如,汽车的各部分可以包括例如保险杠、轮、车身面板、发动机罩(hood)、风挡和引擎盖(hoods,车篷)。器官的各部分可以包括例如室、瓣膜、腔、叶(lobe)、管道、膜、脉管等。植物的各部分可以包括根、茎、叶子(leaf)和花。根据三维模型的性质,三维模型本身可以被划分为各组成部分的三维模型。例如,使用计算机辅助设计(CAD)软件生成的汽车的三维模型可以是各组成部分的三维CAD模型的组件。然而,在其他情况下,三维模型可以作为被细分为组成部分的单一整体开始。例如,器官的三维模型可以在医学或其他专业人员的指导下被划分为各种组成部分。
在一些情况下,识别出现在一个或多个图像中的对象的数据可以从人类用户接收。例如,人类用户可以指示出现在一个或多个图像中的汽车的品牌、型号和年份。在其他情况下,人类用户可以指示出现在一个或多个图像中的人体器官的身份或植物的种类。在其他实施方式中,可以使用图像分类技术来识别对象。例如,可以训练卷积神经网络来输出用于图像中的对象或对象的一部分的分类标签。
可以各种各样不同的方式来识别对象的三维模型。例如,可以使用识别对象的数据来搜索预先存在的三维模型库。替代地,可以请求产品的制造商提供三维模型,或者可以扫描物理对象。
在1410处,执行过程1400的设备对出现在三维模型上的地标进行标注。如上文所讨论的,这些地标是三维模型上的感兴趣的位置,并且可以在三维模型上被识别和标注。
图15是用于标注出现在三维模型上的地标的计算机实施的过程1500的流程图。过程1500可以例如根据一组机器可读指令、硬件组件或这些指令和/或其他指令的组合的逻辑、由执行数据处理活动的一个或多个数据处理设备来执行。过程1500可以独自地或与其他活动相结合地执行。例如,可以在过程1400(图14)中的1510处执行过程1500。
在1505处,执行过程1500的系统使用由组成部分形成的对象的三维模型来渲染对象的二维图像的集合。二维图像不是对象的真实世界实例的实际图像。相反,二维图像可以被认为是真实世界对象的图像的替代。这些替代二维图像从各种各样不同的角度和取向示出对象——好像相机从各种各样不同的相对位姿对该对象进行成像一样。
可以多种方式使用三维模型来渲染二维图像。例如,可以使用射线跟踪或其他计算机图形技术。一般来说,对象的三维模型被扰动以用于渲染替代二维图像。因此,不同的替代二维图像可以例示三维模型的不同变化。一般来说,扰动可以模拟由三维模型表示的对象或对象的部分的真实世界变化。例如,在汽车的三维模型中,可以对外部油漆和内部装饰的颜色进行扰动。在一些情况下,可以添加、移除或更换部分(轮胎、轮毂盖和例如车顶托架的特征)。作为另一示例,在器官的三维模型中,生理上相关的尺寸和相对尺寸变化可以被用来扰动三维模型。
在一些实施方式中,可以对除了三维模型以外的方面进行扰动,以进一步使二维图像变化。一般来说,扰动可以模拟真实世界变化,所述变化包括例如:
-成像设备(例如,相机分辨率、变焦、焦距、光圈速度)的变化,
-图像处理(例如,数字数据压缩、色度子采样)的变化,以及
-成像条件(例如,照明、天气、背景颜色和形状)的变化。
在一些实施方式中,在参考系中渲染二维图像。该参考系可以包括出现在对象后面的背景特征和出现在对象前面——并且可能地遮挡对象的一部分——的前景特征。一般来说,该参考系将反映对象可能存在于其中的真实世界环境。例如,汽车可以在类似于停车场的参考系中被渲染,而器官可以在生理上相关的环境中被渲染。也可以使参考系变化以进一步使二维图像变化。
一般来说,期望二维图像是高度可变的。此外,替代二维图像的数量和变化的程度可以取决于对象的复杂性以及最终要使用三维模型上的所标注的地标来执行的图像处理。以示例方式,可以渲染汽车的2000或更多个(在相对位姿和排列方面)高度可变的替代二维图像。由于二维图像是根据三维模型来渲染的,因此可以保留关于对象在二维图像中的位置的完备知识,无论二维图像的数量和变化的程度如何。
在1510处,执行过程1500的系统将在二维图像中所示出的对象的每个区域指派给该对象的一部分。如上文所讨论的,可以基于功能和/或结构将对象的三维模型划分为可区分的组成部分。在渲染三维模型的替代二维图像时,可以保存二维图像中的每个区域所属于的部分。因此,可以使用根据三维模型得到的完备知识将区域——其可以是二维图像中的像素或其他区——指派给三维模型的相应的组成部分。
在1515处,执行过程1500的系统确定二维图像中的部分的可区分区域。一个部分的可区分区域是可以使用一种或多种图像处理技术在替代二维图像中识别的区(例如,一个像素或一组像素)。例如,在一些实施方式中,使用例如莫拉维克(Moravec)角点检测器或哈里斯(Harris)角点检测器(https://en.wikipedia.org/wiki/Harris_Corner_ Detector)来检测每个图像中被分配给相同部分的区域的角点。作为另一示例,可以使用诸如例如SIFT/SURF/HOG/(https://en.wikipedia.org/wiki/Scale-invariant_feature_ transform)的图像特征检测算法来定义可区分区域。
在1520处,执行过程1500的系统通过将二维图像中的可区分区域反投影到三维模型上来识别三维模型中的地标的集合。与二维图像中的可区分区域相对应的三维模型上的体块被识别为三维模型上的地标。
在一些实施方式中,可以应用一种或多种过滤技术来减少这些地标的数量,并且确保质量——在反投影到三维模型之前或之后。例如,在一些实施方式中,可以在反投影之前丢弃替代二维图像中的接近对象的外边界的区域。作为另一示例,可以丢弃距三维模型中的一个相应部分太远的区域的反投影。
在一些实施方式中,仅三维模型上的满足阈值标准的体块被识别为地标。可以多种方式确定阈值。例如,可以收集是三维模型上的候选地标并且通过来自以不同的相对位姿和扰动渲染的不同的二维图像的反投影所识别的体块。可以识别候选地标的聚类,并且可以丢弃异常值候选地标。例如,可以使用诸如OPTICS算法(https://en.wikipedia.org/ wiki/OPTICS_algorithm,DBSCAN的变体https://en.wikipedia.org/wiki/DBSCAN)的聚类技术来识别候选地标的聚类。可以使用例如Calinski-Harabasz指数(即,方差比标准)或其他标准来评估聚类的有效性。在一些实施方式中,可以选择和/或定制(例如,通过定制聚类算法的超参数)聚类技术以提高聚类的有效性。如果需要,可以合并在一个聚类中并且比阈值更接近在一起的候选地标。在一些实施方式中,位于三维模型的不同的部分上的候选地标聚类也可以被合并为单个聚类。在一些实施方式中,一个聚类中的数个候选地标的质心可以被指定为单个地标。
在一些实施方式中,三维模型中的地标可以基于如下准确性被过滤:所述地标在根据三维模型渲染的替代二维图像中的位置可以该准确性被预测。例如,如果三维地标在二维图像中的位置太难以预测(例如,在阈值百分比的次数以上被错误地预测或者仅以低的准确性被预测),则可以丢弃该三维地标。因此,仅如下三维地标将保留:地标预测器可以相对容易地预测所述三维地标在二维图像中的位置。
在一些情况下,可以针对特定的数据处理活动来定制被识别的地标的数量。地标的数量可以多种方式被定制,所述方式包括例如:
-在1505处,渲染更多或更少的二维图像,特别是使用三维模型的更多或更少的排列;
-将三维模型划分为更多或更少的部分,在1510处区域被指派给所述部分;
-在1515处,放松或收紧用于将区域视为可区分的约束;和/或
-在1520之后,在将可区分区域反投影到三维模型上之后,放松或收紧用于过滤地标的约束。
本说明书中所描述的主题和操作的实施方案可以数字电子电路系统实施,或以计算机软件、固件或硬件——包括本说明书中所公开的结构及其结构等同物——实施,或以它们中的一个或多个的组合实施。本说明书中所描述的主题的实施方案可以被实施为一个或多个计算机程序,即,一个或多个计算机程序指令模块,所述一个或多个计算机程序被编码在计算机存储介质上以用于由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,程序指令也可以被编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,,所述传播信号被生成以对信息进行编码,以用于传输到合适的接收器装置以用于由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合或被包括在其中。此外,虽然计算机存储介质不是传播信号,但计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的物理部件或介质(例如,多个CD、盘或其他存储设备)或者被包括在其中。
本说明书中所描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或从其他源接收的数据执行的操作。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,通过实施例的方式包括可编程处理器、计算机、片上系统或前述中的多个或前述的组合。该装置可以包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础架构,诸如网络服务、分布式计算和网格计算基础架构。
计算机程序(也被称为程序、软件、软件应用程序、脚本或代码)可以任何形式的编程语言——包括编译或解释语言、声明性或过程性语言——编写,并且它可以任何形式被部署,包括作为独立的程序或作为模块、部件、子例程、对象或适合于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码的各部分的文件)中。计算机程序可以被部署成在一台计算机上或多台计算机上执行,所述多台计算机位于一个站点或者分布在多个站点并通过通信网络互连。
本说明书中所描述的过程和逻辑流可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序,以通过对输入数据操作并且生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路系统(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以被实施为专用逻辑电路系统(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
适合于执行计算机程序的处理器通过实施例的方式包括通用和专用微处理器二者,以及任何种类的数字计算机的任何一个或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或被操作地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据,或将数据传送到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或二者。然而,计算机不必具有这样的设备。此外,计算机可以被嵌入在另一设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存盘))中,仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,通过实施例的方式包括半导体存储设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统补充或并入专用逻辑电路系统中。
为了提供与用户的交互,本说明书中所描述的主题的实施方案可以在计算机上实施,所述计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户可以向计算机提供输入所通过的键盘和定点设备(例如,鼠标或追踪球)。其他种类的设备也可以被用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如,视觉反馈、听觉反馈或触觉反馈;来自用户的输入可以任何形式被接收,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的网络浏览器接收到的请求而向网络浏览器发送网页。
因此,已经描述了本主题的特定实施方案。其他实施方案在随附的权利要求书的范围内。在一些情况下,权利要求书中所记载的动作可以不同的顺序被执行,并且仍然获得期望的结果。此外,在附图中所描述的过程未必需要所示出的特定顺序或连续顺序来获得期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
已经描述了多个实施方式。然而,将理解可以进行各种修改。因此,其他实施方式在随附权利要求书的范围内。
Claims (22)
1.一种用于表征图像处理的正确性的方法,所述方法包括:
接收对象的实例的第一图像和第二图像,其中所述第一图像和所述第二图像是在不同的相对位姿下获取的;
估计所述第一图像中的所述对象的实例的相对位姿;
接收表征在所述第一图像的获取和所述第二图像的获取期间以下中至少之一的位置差异或取向差异的信息:
所述对象的实例;以及
一个或多个成像设备;
将所述第一图像中的所述对象的实例的估计的相对位姿基于所述位置差异或所述取向差异进行变换;
将所述对象的实例的变换的相对位姿与所述图像中的所述第二图像中的所述对象进行比较;以及
基于所述对象的变换的相对位姿与所述图像中的所述第二图像中的所述对象的比较结果,表征对所述对象的实例的所述相对位姿的估计的正确性。
2.根据权利要求1所述的方法,还包括:
将对所述相对位姿的估计的正确性与正确性阈值水平进行比较;以及
响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,指示捕获所述对象的实例的图像的智能体捕获所述对象的附加图像。
3.根据权利要求2所述的方法,其中,所述方法包括以以下方式指示所述智能体捕获所述附加图像:
以与所述第一图像和所述第二图像的相对位姿不同的相对位姿;或者
以与所述第一图像和所述第二图像的特性不同的成像特性。
4.根据权利要求1所述的方法,还包括:
将对所述相对位姿的估计的正确性与正确性阈值水平进行比较;以及
响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,从另外的图像处理中排除所述第一图像中的所述对象的实例的估计的相对位姿。
5.根据权利要求1所述的方法,其中,变换所述对象的相对位姿包括:
接收所述对象的三维模型;以及
计算以不同位置或不同取向获取的所述三维模型的图像的特性。
6.根据权利要求5所述的方法,其中,计算所述三维模型的所述图像的特性包括:计算所述三维模型的所述图像中的地标的位置或计算所述三维模型的所述图像的外边界。
7.根据权利要求5所述的方法,其中,计算所述三维模型的所述图像的特性包括:基于所述位置差异或所述取向差异来将所述三维模型投影。
8.根据权利要求1所述的方法,其中,估计所述第一图像中的所述对象的相对位姿包括:
使用机器学习模型检测所述第一图像中的地标;以及
使用检测到的地标来估计所述对象的相对位姿。
9.根据权利要求1所述的方法,还包括:
迭代地重复以下步骤:接收图像,估计相对位姿,接收表征位置差异或取向差异的信息,变换估计的相对位姿,以及比较变换的相对位姿。
10.根据权利要求9所述的方法,其中,所述迭代地重复一直进行直到达到正确性阈值水平。
11.根据权利要求1所述的方法,其中,所述第一图像和所述第二图像是由同一成像设备获取的。
12.根据权利要求1所述的方法,其中,表征所述位置差异或所述取向差异的所述信息包括根据所述第一图像和所述第二图像得出的信息。
13.根据权利要求1所述的方法,其中,接收表征所述位置差异或所述取向差异的所述信息包括:
识别所述对象的实例的所述图像中的另一对象或所述对象的实例的一部分;以及
基于所述另一对象或所述对象的实例的所述一部分来确定所述位置差异或所述取向差异。
14.一种用于表征图像处理的正确性的方法,所述方法包括:
接收对象的实例的图像,其中所述图像是在不同的相对位姿下获取的;
识别所接收的图像中的每个中的所述对象上的相应地标的位置;
接收表征在所述图像被获取时以下中至少之一的位置差异或取向差异的信息:
所述对象的实例;以及
一个或多个成像设备;
将在所述图像中的第一图像中识别的地标的位置基于所述位置差异或所述取向差异进行变换;
将变换的地标的位置与在所接收的图像中的第二图像中识别的地标中的相应地标的位置进行比较;以及
表征对所接收的图像中的至少之一中的所述地标的位置的识别的正确性。
15.根据权利要求14所述的方法,其中,识别所述相应地标的位置包括估计所述对象和所述一个或多个成像设备的相对位姿。
16.根据权利要求14所述的方法,其中,表征所述位置差异或所述取向差异的所述信息表征所述对象和所述一个或多个成像设备两者中的不同者。
17.根据权利要求14所述的方法,其中,所述表征对所述地标的位置的识别的正确性包括:
将在所述图像中的第二图像和第三图像中识别的地标的位置基于相应的位置差异或取向差异进行变换;以及
将来自所述图像中的所述第一图像、所述第二图像和所述第三图像的变换的地标进行组合。
18.根据权利要求17所述的方法,其中,表征对所述地标的位置的识别的正确性还包括:将组合的变换的地标的位置与在所接收的图像中的所述第二图像中识别的地标中的相应地标的位置进行比较。
19.根据权利要求14所述的方法,其中,接收表征所述位置差异或所述取向差异的信息包括:
识别所述对象的实例的所述图像中的另一对象或所述对象的实例的一部分;以及
基于所述另一对象或所述对象的实例的所述一部分来确定所述位置差异或所述取向差异。
20.根据权利要求14所述的方法,其中,变换地标的位置包括:
接收所述对象的三维模型;以及
将所述对象的所述三维模型投影以确定所述地标的位置。
21.根据权利要求14所述的方法,还包括:
将对所述地标的位置的识别的正确性与正确性阈值水平进行比较;以及
响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,接收所述对象的实例的多个附加图像中的一个附加图像并且识别相应地标的位置,接收表征所述差异的信息,变换所述地标的位置,比较变换的地标的位置,以及表征对所述多个附加图像中的所述一个附加图像的所述地标的位置的识别的正确性。
22.根据权利要求14所述的方法,还包括:
将对所述地标的位置的识别的正确性与正确性阈值水平进行比较;以及
响应于确定对所述相对位姿的估计的正确性不满足所述正确性阈值水平,从另外的图像处理中排除对所述地标的位置的识别。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GR20210100602 | 2021-09-13 | ||
US17/454,347 US20230085384A1 (en) | 2021-09-13 | 2021-11-10 | Characterizing and improving of image processing |
US17/454,347 | 2021-11-10 | ||
PCT/EP2022/073852 WO2023036631A1 (en) | 2021-09-13 | 2022-08-26 | Characterizing and improving of image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118318256A true CN118318256A (zh) | 2024-07-09 |
Family
ID=91721024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280075400.1A Pending CN118318256A (zh) | 2021-09-13 | 2022-08-26 | 图像处理的表征和改进 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118318256A (zh) |
-
2022
- 2022-08-26 CN CN202280075400.1A patent/CN118318256A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230085384A1 (en) | Characterizing and improving of image processing | |
CN111563442B (zh) | 基于激光雷达的点云和相机图像数据融合的slam方法及系统 | |
CN109791696B (zh) | 用于场景的3d重建的方法、设备和定位事件摄像机的方法 | |
US9990736B2 (en) | Robust anytime tracking combining 3D shape, color, and motion with annealed dynamic histograms | |
Yin et al. | Dynam-SLAM: An accurate, robust stereo visual-inertial SLAM method in dynamic environments | |
CN114424250A (zh) | 结构建模 | |
CN108051002A (zh) | 基于惯性测量辅助视觉的运输车空间定位方法及系统 | |
CN111210477A (zh) | 一种运动目标的定位方法及系统 | |
CN112927303A (zh) | 一种基于车道线的自动驾驶车载相机位姿估计方法及系统 | |
CN116978009A (zh) | 基于4d毫米波雷达的动态物体滤除方法 | |
CN114969221A (zh) | 一种更新地图的方法及相关设备 | |
CN113160275A (zh) | 一种基于多个视频的自动目标跟踪和轨迹计算的方法 | |
Kim et al. | External vehicle positioning system using multiple fish-eye surveillance cameras for indoor parking lots | |
Min et al. | Coeb-slam: A robust vslam in dynamic environments combined object detection, epipolar geometry constraint, and blur filtering | |
CN118411507A (zh) | 一种具有动态目标的场景的语义地图构建方法及系统 | |
CN114972492A (zh) | 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质 | |
US20220245860A1 (en) | Annotation of two-dimensional images | |
Loktev et al. | Image Blur Simulation for the Estimation of the Behavior of Real Objects by Monitoring Systems. | |
CN118318256A (zh) | 图像处理的表征和改进 | |
Gao et al. | 3D reconstruction for road scene with obstacle detection feedback | |
Walczak et al. | Locating occupants in preschool classrooms using a multiple RGB-D sensor system | |
EP4402646A1 (en) | Characterizing and improving of image processing | |
CN113793250A (zh) | 位姿评价方法、位姿确定方法、对应装置和电子设备 | |
US20230206493A1 (en) | Processing images of objects and object portions, including multi-object arrangements and deformed objects | |
Shilin et al. | Application of a Depth Camera for Constructing Complex Three-Dimensional Models in Multiple Scanning Complexes |
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 |