为图像处理进行点云配准的方法和系统与流程

文档序号:22626763发布日期:2020-10-23 19:35阅读:253来源:国知局
为图像处理进行点云配准的方法和系统与流程

背景技术
:可提供相机阵列(例如可以设置在平板设备或智能手机上)以从不同角度捕获同一场景的多个图像。通过移动单个相机以从不同角度捕获同一场景的图像,可以实现相同的效果。然后,这些图像可用于生成深度图,进而生成3d几何或语义模型,以便在场景的3d空间中准确地定位对象。这样做是为了能够测量场景中的对象、或场景中的各个对象之间(或从相机到对象)的距离,以在期望知晓场景中对象的大小、位置、或身份时进行计算机视觉、人工智能、对象辨识、头戴式3d显示(hmd)或视点显示(pointofviewdisplays)等。许多这样的常规系统为每个图像生成点云,然后匹配来自从不同角度看的场景的不同图像的点。一旦将这些点进行了匹配,就可以使用三角测量或其他算法来测量从相机到这些点的深度以及进行其他测量。这通常使用迭代最近点(icp)方法来执行。但是,这些方法对于下述系统而言通常是不准确的:系统沿着从移动的相机生成的帧序列进行图像比较。当从一个相机位置到下一相机位置的移动跨度太大时,系统无法准确确定正确的对应点对,从而导致高错误率。此外,这样的系统太慢,因为每次迭代通常都包括针对进行配准的点云中所有点的计算,这可能会导致用户查看图像时出现停顿,或者在基于场景中的3d对象的位置和/或身份来执行自动操作时出现延迟。附图说明在附图中以示例方式而非限制方式图示了本文描述的素材。为了图示的简单和清晰,附图中图示的元素不一定是按比例绘制的。例如,为了清晰,一些元素的尺寸相对于其他元素可被夸大。另外,在认为适当时,附图标记在附图之间被重复以指示出对应的或相似的元素。在附图中:图1a和图1b是场景的一对图片,该场景具有由点云形成的、并由移动的相机拍摄的对象;图2是根据本文公开的至少一种实现方式的点云配准(pointcloudregistration)方法的流程图;图3是根据本文公开的至少一种实现方式的为图像处理进行点云配准的方法的流程图;图4是根据本文公开的至少一种实现方式的主轴提取方法的流程图;图5a-图5g是根据本文公开的至少一种实现方式的为图像处理进行点云配准的方法的详细流程图;图5h是根据本文公开的至少一种实现方式的用于解释立方体重叠区域上的主轴替代选择的示意图;图6是使用常规方法的点云匹配得到的重建场景的图像;图7是使用常规方法的点云匹配得到的重建场景的图像;图8是使用常规方法的点云匹配得到的重建场景的图像;图9是使用常规方法的点云匹配得到的重建场景的图像;图10是使用常规方法的点云匹配得到的重建场景的图像;图11是根据本文公开的实现方式中的至少一者的使用为图像处理进行的点云配准的方法得到的重建场景的图像;图12是示例系统的示意图;图13是另一示例系统的示意图;并且图14示出了全部根据本公开的至少一些实现方式布置的另一示例设备。具体实施方式现在参考附图描述一个或多个实现方式。虽然论述了具体配置和布置,但应当理解这么执行只是为了说明性目的。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。相关领域的技术人员将会清楚,本文描述的技术和/或布置也可用在与本文所述不同的多种其他系统和应用中。虽然接下来的描述阐述了可在诸如片上系统(soc)架构之类的架构中显现的各种实现方式,但本文描述的技术和/或布置的实现方式不限于特定的架构和/或计算系统,而是可由任何架构和/或计算系统为类似的目的而实现。例如,采用例如多个集成电路(ic)芯片和/或封装的各种架构和/或诸如成像设备、数码相机、智能电话、网络摄像头、视频游戏面板或游戏机、机顶盒、具有单个或多个相机的平板设备、可穿戴设备(例如hmd)、机器人之类的各种计算设备和/或消费电子(ce)设备可实现本文描述的技术和/或布置。另外,虽然接下来的描述可阐述许多具体细节,例如逻辑实现方式、系统组件的类型和相互关系、逻辑分区/集成选择等等,但要求保护的主题可在没有这种具体细节的情况下实现。在其他情况中,为了避免模糊本文公开的素材,可能没有详细示出一些素材,例如控制结构和完整软件指令序列。本文公开的素材可以用硬件、固件、软件或者其任何组合来实现。本文公开的素材也可实现为存储在机器可读介质或存储器上的指令,这些指令可被一个或多个处理器读取和执行。机器可读介质可包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可包括只读存储器(rom);随机访问存储器(ram);磁盘存储介质;光存储介质;闪存设备;电的、光的、声的或者其他形式的传播信号(例如,载波、红外信号、数字信号等等),以及其他。在另一形式中,诸如非暂态计算机可读介质之类的非暂态制品可以与上述任何示例或其他示例一起使用,除了其不包括暂态信号本身之外。它确实包括除信号本身以外的那些元件,例如ram等,它们可以以“暂态”方式临时保存数据。说明书中提及“一个实现方式”、“一实现方式”、“一示例实现方式”等等指示的是描述的实现方式可包括特定的特征、结构或特性,但可能不一定每个实现方式都包括该特定特征、结构或特性。另外,这种短语不一定指同一实现方式。另外,当联系一实现方式来描述特定的特征、结构或特性时,认为联系其他实现方式(无论本文是否明确描述)来实现这种特征、结构或特性是在本领域技术人员的知识范围内的。提供了为图像处理进行点云配准的系统、制品、和方法。如上文所述,点云配准可用于匹配来自相机阵列中的多个相机或来自围绕正拍摄的场景移动的单个相机的多个捕获图像中的对象上的相同点。点云配准然后可以例如用于进行校正。执行校正以将来自多个相机以及由此来自多个角度的图像(或来自单个相机的多个图像)变换到共同平面中以简化特征匹配过程。其结果是现在能够从相同的视角或角度观看多个图像中的每个图像,从而可以将图像放置在同一共同平面中,使得图像中的点更容易通过平行匹配线来匹配。无论根据所使用的应用是否进行校正,所捕获的图像随后都可以用于3d重建以形成3d深度图、模型或其他3d空间,或用于其他特定的3d重建算法,例如,同时定位和绘图(slam),此处仅列举一个示例。所捕获的图像还可以用于进行对象辨识,以识别、辨识、和/或测量3d空间中的对象等等,以及用于许多不同的应用,例如,人工智能(ai)、机器人和计算机视觉(例如自主车辆和住宅服务机器人)、以及视点(pov)系统(例如具有虚拟、增强和混合现实hmd)等等,此处仅列举几个示例。点云配准的任务是通过最小化两个点云之间的对准错误来计算变换矩阵。迭代最近点(icp)是点云配准中最流行的技术,请参阅p.j.besl等人的“amethodforregistrationof3-dshapes(用于3-d形状配准的方法)”,ieeetrans.patternanal.mach.intell(《ieee模式分析与机器智能学报》),第14卷,2号,第239-25页(1992年2月)。该常规方法迭代地执行两步过程:跨点云进行的点到点对应、以及对描述未对准的最小平方距离度量的最小化。假定在大多数情况下,欧几里得最近点对能够找出正确的对应关系。为了满足这一假设,一种常用方法是限制传感器变化的幅度,例如在可视化映射期间中缓慢移动相机,使得针对同一点从一个图像到下一图像的移动距离很小。但是,在实际情况下通常与此限制相违背。例如,当用户在握持对场景进行录像的相机时,由于人的身体限制,用户通常只是不能足够平稳地握持相机以允许这样的图像处理。当用户试图记录移动的对象并有意移动相机以试图匹配对象的运动(常常为进行精确的3d处理而太快地移动相机)时尤其如此。对经典icp的已知改进可以分为以下两类。首先,一些解决方案选择特征对的子集以消除不正确的匹配。一种技术使用法线向量来获取更准确的点对。请参阅j.serafin等人的“nicp:densenormalbasedpointcloudregistration(nicp:基于密集法线进行的点云配准)”,iros,第742-749页(2015年)。此外,提出了一种鲁棒点匹配(rpm)算法,该算法使用软分配(softassign)代替二进制分配,以进行更好的点选择和匹配。请参阅gold等人的“newalgorithmsfor2dand3dpointmatching:poseestimationandcorrespondence(用于2d和3d点匹配的新算法:姿势估计与对应)”,神经信息处理系统进展,第957-964页(1995年)。其他与特征对相关的最新方法结合了下述两种策略来消除匹配错误:预过滤和重叠过滤。请参阅s.nobili等人的“overlap-basedicptuningforrobustlocalizationofahumanoidrobot(针对人形机器人的鲁棒定位进行的基于重叠的icp调谐)”,icra(2017年)。在每种过滤技术中,都会消除一组错误匹配。一些技术将描述子附接至点,以消除不确定性(ambiguity),例如利用方位直方图的签名(shot)。请参阅serafin等人和y.zhuo等人的“automaticregistrationofpartialoverlapthree-dimensionalsurfaces(部分重叠的三维表面的自动配准)”,机械自动化与控制工程,国际会议的议事录,第299-302页(2010年);nobili等人和tombari等人的“uniquesignaturesofhistogramsforlocalsurfacedescription(用于局部表面描述的直方图的独特签名)”,欧洲计算机视觉会议,springer出版社,柏林,海德堡,第356-369页(2010年)。所有这些方法的主要缺点是它们仍然容易受到噪声、较大的视点改变、以及遮挡的影响。此外,上文提到的许多复杂描述子都很耗时。第二,用于改进icp的另一种解决方案是使用各种错误度量来提高鲁棒性。一些技术使用了多个错误度量,例如点到平面以及平面到平面匹配,请分别参阅grant等人的“point-to-planeregistrationofterrestriallaserscans(地面激光扫描的点到平面配准)”,摄影测量与遥感j.isprs杂志,72期:第16-26页(2012年);以及a.segal等人的“generalized-icp(广义icp)”,机器人学:科学与系统(rss)的议事录(2009年)。“迭代重加权最小二乘法(irls)”作为另一示例被提出,它使用各种成本函数来提供对噪声的鲁棒性。请参阅p.等人的“robustregistrationofpointsetsusingiterativelyreweightedleastsquares(使用迭代重加权最小二乘法对点集进行的鲁棒配准)”,计算优化与应用,58(3)期:第543-561页(2014年)。另一种技术引入了修整icp算法,该算法将icp的应用扩展到部分重叠的点云,请参阅d.chetverikov等人的“robusteuclideanalignmentof3dpointsets:thetrimmediterativeclosestpointalgorithm(3d点集的鲁棒欧几里得对准:修整的迭代最近点算法)”,图像和视觉计算,23(3)期:第299-309页(2005年)。这些方法对于一小部分匹配错误具有一定程度的鲁棒性。但是,这些技术仍然无法处理场景中重叠非常少的图像或场景的图像之间的较大旋转,例如,当重叠率(两个图像之间)小于50%或两个图像之间的旋转大于60°时,这些技术仍会导致不恰当的点云匹配,进而导致许多不准确和错误。那些以前解决方案的缺点可以分为三个主要方面。首先,那些使用低级特征表示的技术在实际应用中通常非常嘈杂。例如,在这些技术中使用的常规点检测器通常对各种因素(包括照明、视点、遮挡等)非常敏感,从而导致许多错误的点匹配。其次,常规的低级特征匹配通常在密集的匹配空间中执行,并针对icp中的每次迭代进行。例如,在经典icp中(请参阅上面引用的besl等人的文献),在每次迭代中将源中的点设置为与目标中的点对应,这是icp速度慢的主要原因。这可能包括暴力匹配(brutematching),其中将一个点云中的每个点与另一点云中的每个或多个点进行比较。这非常耗时,以至于点云配准可能会导致其他处理的明显延迟,并且可能会不必要地消耗处理器处理能力的百分比。仅此一项就不利于执行点云配准的计算机、计算设备或相机的运作。第三,点云配准的错误度量可基于局部描述子进行,但局部描述子也对较大旋转和较小重叠敏感。因此,尽管已经提出了一些改进方案,但是在非常大的旋转或图像之间的重叠非常小(例如重叠率低于约50%的情况下)时,这些改进方案的效果并不理想。当点云之间的重叠小于40%或旋转角度大于60°时,几乎无法使用点云配准。关于这些不完美的改进方案,请参阅上文引用的grant等人、等人、以及chetverikov等人的文献。为了解决这些问题,为图像处理进行点云配准的有效且准确的方法和系统可以包括:迭代地修改包围点云的某一部分的三维重叠区域的位置或尺寸或这两者,这些点云形成两个图像中的场景。这些迭代可用于修改重叠区域的位置和尺寸,直到达到收敛为止。在迭代期间,重叠区域还被调整为与在两个图像的点云中检测到的主轴对准。两个图像各自的到目前为止最佳的重叠区域可以用作下一次迭代中的初始重叠区域。然后可以通过使用在收敛迭代期间形成的重叠区域来建立包括旋转部分(例如旋转矩阵)和平移部分(例如平移向量)的变换。这避免了对存储和修改数据(例如许多点在不同迭代之间的权重等)的重度需求,从而减少了计算设备的存储器容量、处理时间、和功率容量功能。现在更详细地进行解释,在给定两个点云p和q的情况下,配准的任务是估计从p到q的旋转矩阵r和平移向量t。为实现这一点,可以使用重叠区域b,并且这里采用的形状为立方体,其中b=(x,y,z,w,h,l),其中变量(x,y,z)是重叠区域的中心点坐标,而(w,h,l)是重叠区域的宽度、高度、和长度尺寸。为简单起见,可以将尺寸设置为w=h=l。重叠区域bp和bq分别表示在p和q中的重叠。用下式来表达变换和重叠区域的联合估计,以最大化其联合后验概率:其中z()是观测值,并且z=[z(p),z(q)]。可以将其改写为:p(r,t,bp,bq|z)=p(bp,bq|z)·p(r,t|bp,bq),(2)其中等号右侧的第一概率表示重叠的后验概率,而第二概率代表在已知它们的重叠时的变换的条件概率。假设重叠的先验概率分布p(bp,bq)和观测值的先验概率分布p(z)都是均匀分布的。根据贝叶斯(bayes)理论,上述等式(2)可被改写为:因此,对r、t、bp、bq的估计被拆分为两个子问题:(1)通过最大化p(z|bp,bq)来进行重叠bp和bq估计的问题,以及(2)通过最大化p(r,t|bp,bq)来进行给定bp和bq情况下的变换r和t估计的问题。这两个子问题是相互联系的,并且可以通过迭代过程来解决,在迭代过程中,观测值的条件概率可以通过将点云的主轴匹配到重叠区域来表示,而变换的后验概率可以通过选择迭代的最佳重叠区域(及其所匹配的主轴)来表示。于是,执行所公开的方法使上文的概率等式(3)有效地执行。下文将进行详细解释。为了完成这些任务,首先使用曼哈顿(manhattan)世界假设。曼哈顿世界假设是关于城市和室内场景的场景统计的假设。请参阅flint等人的“adynamicprogrammingapproachtoreconstructingbuildinginteriors(用于重建建筑物内部空间的动态编程方法)”,eccv(2010年)。假定这样的城市或室内房间场景建立在笛卡尔网格上,在笛卡尔网格中,世界中的表面与三个主要方向之一对准,其中所有平面彼此平行或垂直。根据观察,大多数室内和城市场景都是在曼哈顿三维网格上设计的。所公开的方法利用曼哈顿场景中的几何先验项来定义点云的主坐标系(或轴),并引入基于主坐标轴和表示要相互配准的两个点云的三维重叠区域(这里为立方体)的配准的配准方法。基于该表示,可以高精度地估计重叠区域,从而准确地去除不相关的点,继而实现了具有同一场景的较少重叠的多个图像的点云配准的鲁棒性。为实现这一点,在变换估计期间将主坐标轴对准。由于能够有效使用不依赖于传统的低级特征匹配的小搜索空间的能力,因此可以非常快速地执行此操作,并且这还实现了针对图像之间较大旋转的鲁棒性。就有效性和效率而言,所公开的方法和系统实现了比现有技术明显更好的结果。当点云之间的重叠小于约40%或旋转角度大于约60°时,所公开的方法明显优于现有技术方法。当重叠率小于约30%或旋转角度大于约90°时,尤其如此。通过减少执行这些任务所消耗的功率和处理器时间,这样的准确性提高和计算负荷的减少改进了计算机、计算设备、或相机的运行,从而使计算设备具有更多的能力和时间来执行其他任务。下文提供了其他详细信息。现在参考图1a,提供要彼此配准的点云102的每个图像100可以具有由边界框106限制的点云。边界框106对于每个点云可以是唯一的,并且可以通过找到例如每个默认轴(x,y,z)上的点的最小和最大坐标来自动计算。按照一种形式,边界框是包围点云的点集的最小可能边界框。如所提到的,这里的方法操纵的主要单元是重叠区域104。该重叠区域被放置在100的点云102内,继而在边界框内,在所比较的两个图像的两个点云可能重叠的位置处。重叠区域因而可以包围点云内的至少一些点。因此,边界框大于重叠区域,参考图1b,在两个图像112和114中示出的示例场景110从两个不同的视角示出,无论它们是从在图像之间移动的单个相机中捕获到的,还是从各自提供图像112或114之一的多个相机捕获到的。如图所示,每个图像112和115分别具有其自己的重叠区域118和116。按照一种形式,重叠区域是立方体,并且具体是正方体,其中在所有三个方向上的边缘长度都是相同的(重叠区域的宽度、高度、和长度)。然而,应领会,本文的方法可以应用于具有除立方体或正方体以外的其他形状的重叠区域。并且如下文所述,本文的方法还修改重叠区域的位置和边缘长度。在本文中,位置是指重叠区域的中心点,边缘长度是形成重叠区域的拐角(在此处重叠区域的两个平面相交)的边缘。然而,应理解,可以使用其他替代方案,例如拐角或在重叠区域之中或之上的其他期望位置用作本文讨论的位置,并且边缘长度(在本文中也称为边缘大小)也称为边缘尺寸,但是在本文中为说明的目的,可以用方便且准确地指示重叠区域的大小的任何重叠尺寸来代替。如所提到的,点云配准可以通过在重叠区域内或重叠区域上进行的主轴对准来实现。这样的主轴对准由具有两个检测到(通过使用点云中的点进行检测)的主轴120和122的主轴对表示。在本文中,主轴是指具有三个轴(x,y,z)的笛卡尔坐标系,并且主轴在本文中可以被称为主坐标系或主轴系。因此,下文讨论的术语“主轴对”或“候选主轴对”是指两个匹配的主轴,每个主轴具有三个轴(x,y,z),并且其中,一对中的一个主轴的x轴与该对中的另一主轴的x轴匹配,针对三个轴中的每一者都可以此类推。主轴120和122在这里被示出为彼此对准以及分别与重叠区域116和118对准。这样的对准的细节将在下文提供。参考图2,所公开的方法200提供了为图像处理进行点云配准的方法和系统的概述。在所示的实现方式中,过程200可以包括均匀编号的一个或多个操作、功能或动作202至210。通过非限制性示例的方式,本文中可以参考图12的示例图像捕获处理系统1200以及任何相关的地方来描述过程200。处理200首先可以包括:首先获得两个捕获图像212和214对202,其中每个图像具有要彼此配准的点云。这可以是自动过程,在该过程中,点云以视频序列的每两帧为间隔或者可以以某种其他间隔被彼此配准,无论所期望的配准是每视频序列进行一次还是多次,并且可以根据应用被不同地决定。例如,在slam3d模型应用中,通常每两个相邻帧被配准,但是对于其他3d场景重建应用,图像被较不频繁地配准。按照一种形式,如果相机移动缓慢,则每隔一帧应用此过程以进行3d对象重建。还可以在每一连续场景时或者根据某一其他内容相关的指示符对点云进行配准。在其他情况下,在用户选择计算设备或相机上的特定模式(例如3d相关的模式)时,或者在设置期望的质量级别或其他计算机功能级别(例如电池、处理速度、或与存储器容量相关的设置)时,可以对两个图像进行一次或其他期望的次数的点云配准。还应领会,图像也可以是单镜头图像或静态相机图像。此后,主轴提取操作204包括:提取三个主要正交方向,并将它们命名为主轴。这是通过使用曼哈顿世界假设来检测平面216而执行的,以使所有所得平面平行或垂直。这些平面的法线218用于将垂直平面配对,以利用每个成对的垂直平面构成主轴。一旦点云之间的初始重叠被确定为由初始重叠区域(例如,图1b中的重叠区域116和118)表示,则可以使用迭代过程来确定可用于建立最终变换的精确或最佳重叠区域。下文提供了关于选择初始重叠区域的详细信息。迭代过程可以包括:对变换210的估计,该变换是通过使用的两个重叠区域(表示正被配准的两个点云)的对准的主轴222和224实现的,并且它们在这里被示出为是在主轴对准操作208期间形成的。对变换210的估计表示上文描述的后验概率。此外,当重叠仍然被认为是未知的或太粗糙时,可以使用对重叠的估计,并且这可以被称为重叠调谐操作206,该重叠调谐操作表示上文描述的观测值的条件概率,并且被用来确定最佳重叠区域226。对重叠的估计和变换是耦合的问题,并且提出了集成式框架来联合优化它们。参考图3,提供了关于为图像处理进行点云配准的方法和系统的过程300。在示出的实现方式中,过程300可包括均匀编号的一个或多个操作、功能或动作302至308。通过非限制性示例,本文可以参考图12的示例图像捕获处理系统1200以及任何相关的地方来描述过程300。过程300可以包括“从一个或多个相机获得同一场景的多个图像的图像数据,多个图像包括分别与第一点云和第二点云相关联的第一图像和第二图像,第一点云和第二点云各自单独地形成该场景”302。如上文提到的,可以在每个视频序列时或连续场景时、以每两个图像为间隔、或以任何其他期望的时间间隔,来对具有将要配准的点云的图像进行这样的配对。随后,过程300还可以包括“生成三维的第一重叠区域和第二重叠区域,每个区域分别包围来自相应的第一点云和第二点云的点,并在相应的第一点云和第二点云中具有位置和尺寸”304。这可以包括生成初始第一和第二重叠区域,它们均具有相对于其点云位于特定点处的中心点或其他位置指示符。这也可以包括设置两个点云的(一个或多个)边缘长度。按照一种形式,两个重叠区域的中心点都始于点云的边界框的中心点,并且边缘长度是边界框大小的某个因数(factor)。单独地,该过程可以包括形成一组候选主轴对,包括:确定通过使用第一点云形成的至少一个主轴,它将与通过使用第二点云形成的主轴配对,以生成主轴对。如所提到的,这可以通过首先使用曼哈顿世界假设以检测用于形成主轴的平面来实现。主轴可以由两条法线形成,这些法线分别是检测到的垂直平面的法线,并通过使用这两条法线来计算第三轴,以形成每个主轴的三个轴。可以通过比较沿着被考虑进行配对的主轴的每个轴的颜色或亮度图像数据直方图,来执行两个主轴的配对。然后,过程300可以包括“迭代地修改第一和第二重叠区域的位置或尺寸或这两者,以生成每次迭代的到目前为止最佳的第一和第二重叠区域,直至满足收敛标准为止”306。具体地,该操作可以包括:生成一组重叠区域样本,该组重叠区域样本相对于初始第一和第二重叠区域具有在位置或尺寸或这两者上的变化,该初始第一和第二重叠区域相对于个体迭代而言是初始的。通过使用对初始第一或第二重叠区域在位置、尺寸或这两者上的变化进行的基于高斯分布的随机采样,使重叠区域样本与初始重叠区域不同。然后迭代地将该组候选主轴对中的最佳主轴对与个体重叠区域样本进行匹配,这表示上文提到的后验概率。确定最佳匹配可以包括:区分与第一或第二重叠区域不同的个体重叠区域样本,该个体重叠区域样本不同于第一或第二初始重叠区域中的另一者,其初始中心点位置被维持但边缘长度被改变以与要比较的重叠区域样本的边缘长度匹配。在执行区分之前,可以将重叠区域样本调整为与候选主轴对中的一者的主轴对准,并且另一初始重叠区域(其中心点固定,并且边缘长度等于该重叠区域样本的边缘长度)可被调整为与该候选主轴对中的另一主轴对准。按照一种形式,区分包括:确定在经调整的重叠区域样本和初始重叠区域内的二进制直方图点分布之间的汉明(hamming)差异。在所有候选主轴对中,产生与重叠区域样本相关联的最小汉明距离的候选主轴对可以被认为是与该重叠区域样本的匹配。本文中的汉明距离是指相同区间(bin)位置的区间值之差。因此,如果重叠区域具有区间1到5,其中一个重叠区域具有值[10010],并且另一重叠区域具有区间值[01010],则绝对值结果为(1–0)+(0–1)+(0–0)+(1–1)+(0-0)=2。此外,在每次迭代中,所有重叠区域样本当中的最佳重叠区域样本和所匹配的最佳主轴对可以取决于以下两项的点分布差异:(1)第一和第二点云中的一者的重叠区域样本,以及(2)第一和第二点云中的另一者的重叠区域,并且这表示上文提到的条件概率。按照一种形式,已针对先前操作计算了汉明距离,并且可以将汉明距离彼此进行比较以确定哪个重叠区域样本与最小汉明距离相关联,并且由此成为本次迭代的最佳重叠区域样本。可以执行更新测试以确定最佳重叠区域样本是否比先前迭代生成的样本更好。如果不是,则通过使用当前迭代的最佳重叠区域作为下一迭代的初始重叠区域来继续迭代。如果两个最佳重叠区域样本中的至少一者优于先前的重叠区域样本,则执行收敛操作。当迭代之间的最佳重叠区域的位置或尺寸或这两者的差异满足收敛标准(例如阈值)时,就会发生收敛。达到收敛后,将停止迭代,并使用最后的最佳重叠区域样本来建立变换。过程300可以包括“至少部分地基于这些最佳的重叠区域来建立变换,并且变换包括旋转部分、平移部分或这两者,以在第一点云和第二点云之间转换点位置”308。由此建立了可用于将一个点云中的点位置转换为另一点云上的点位置的变换。如上文提到的,该点云配准随后可用于生成3d图谱、3d模型等。参考图4,提供了用于生成一组候选主轴对的过程400,该组候选主轴对将被用于解释下文描述的详细过程500的操作。在所示的实现方式中,过程400可包括均匀编号的一个或更多个操作、功能或动作402至414。通过非限制性示例,本文中可以参考图12的示例图像捕获处理系统1200以及任何相关的地方来描述过程400。过程400可以包括从将要彼此进行配准的两个点云进行的平面416和法线提取402。垂直平面用于形成404轴对418,并且主坐标420被提取406。针对每个点云执行这三个操作。然后对来自每个点云的主轴420进行匹配或分类412以形成候选主轴对。按照一种形式,所有可能的对都保留为用于进行迭代的候选对象。在另一种形式中,仅某一数目的具有成对主轴之间的最小差异的主轴对(前k个候选主轴)用于进行迭代。参考图5,提供了关于为图像处理进行点云配准的方法和系统的过程500。在所示的实现方式中,过程500可包括均匀编号的一个或更多个操作、功能或动作502至550。作为非限制性示例,本文中可以参考图9的示例图像捕获处理系统900和任何相关的地方来描述过程500。过程500可以包括“确定是否要处理曼哈顿空间”501。按照一种形式,仅当要捕获并用于点云配准的场景具有适合于曼哈顿世界假设的结构(例如,具有许多平行和/或垂直平面的室内房间或城市场景)时,用户才可以发起该过程。一个示例是具有四面墙壁、地板、天花板、以及许多桌子或案台的室内房间。这也可以由计算设备自动执行,例如由于gps、照明、或感测到的其他环境特性而检测到该计算设备在室内,从而自动发起该过程。处理500可以包括“获得同一场景的多个图像的图像数据”502,并且这可以包括获得作为视频序列的帧或一系列静止照片的图像。所捕获的场景可以是静止的场景,也可以具有移动的对象,并且相机可以保持静止或也可以移动。尽管图像之间的相对少的重叠和/或较大的视角差异,通过本过程500仍可以实现计算设备的更好的质量和更好的功能,如下文描述的。处理500可以包括“执行预处理”504,并且预处理至少足以例如在从一个或多个相机传感器接收到原始图像数据时执行点云配准。这样的预处理可包括降噪、像素线性化、阴影补偿、降低分辨率、拜耳去马赛克(bayerdemosaic)、虚光消除、和/或3a相关的操作(包括自动白平衡(awb)、自动对焦(af)、和/或自动曝光(ae)),等等。过程500可以包括“获得图像对,该图像对中的两个图像都具有同一场景的要彼此进行匹配的点”506。过程500可以在两个点云上执行。因此,可以对例如仅两个rgbd图像应用过程500,但是也可以以视频序列中的每两个图像为间隔应用过程500,如上文描述的。这可以是提供给用户的选项,也可以是自动开启或关闭的选项,如上文描述的。过程500可以包括“为在边界框内的该图像对中的每个图像生成点云”508。具体地,存在许多不同的用于点云生成的算法,并且这些算法通常基于某个特征检测,其中对象的边缘或边界是通过如下算法来检测的,这些算法使用图像数据中的颜色和/或亮度的梯度。这里用于rgbd图像的点云生成技术可以将点云的坐标简单地转换为3d点,并且可以遵循(x,y)=((x-cx)*z/f,(y-cy)*z/f),其中(x,y,z)是相机坐标系中的3d坐标,(x,y)是图像坐标,(cx,cy,f)是相机固有参数。请参阅例如m.langer的“worldvs.cameracoordinates(世界与相机坐标)”,麦吉尔大学,智能机器中心,comp558,第4课,www.cim.mcgill.ca/~langer/558/4-cameramodel.pdf(2010年);r.collins的“lecture12:cameraprojectionreading:t&vsection2.4(第12课:相机投影解读:章节t&v的第2.4节)”,cse486计算机视觉i,计算机视觉导论,宾夕法尼亚州,www.cse.psu.edu/~rtc12/cse486/lecture12.pdf(2007年)。对于rgb图像,先估计深度,然后再估计点云。例如,下述文献公开了使用立体图像进行的深度估计:k.zhang等人的“cross-scalecostaggregationforstereomatching[c]//computervisionandpatternrecognition(《计算机视觉和模式辨识》中的论文:用于立体匹配的跨尺度成本聚合)”,ieee,2014年:第1590-1597页;下述文献公开了使用视频序列进行的深度估计:k.karsch等人的“depthextractionfromvideousingnon-parametricsampling[c]//(论文:用非参数采样从视频中提取深度)”,欧洲计算机视觉会议,springer出版社,柏林,海德堡,2012年:第775-788页;以及下述文献公开了使用单个图像进行的深度估计:d.eigen等人的“depthmappredictionfromasingleimageusingamulti-scaledeepnetwork(期刊文章:使用多尺度深度网络从单个图像进行深度图预测)”,计算机科学系,库兰特研究所,纽约大学,2014年:第2366-2374页。对于过程500的其余部分,用于配准的点云以p和q表示。同样参考过程400(图4),过程500可以包括“提取候选旋转对准的主轴对”510。这可以首先涉及操作“检测两个点云中的平面”512(以及操作402(图4))。对于该操作,首先可以检测所有可能的平面,而不管平面的方位如何。这可以使用诸如霍夫变换(houghtransform)或随机样本共识(ransac)之类的技术来执行,在此仅列举几个示例。然后,为了“使用曼哈顿假设平面”514,仅保持垂直于至少一个其他平面的平面。过程500可包括“在交叉平面上形成垂直轴对”516。在检测到两个平面垂直的情况下,将这两个平面的法线保持在一起作为三个轴中的前两个轴,来形成主轴。这里的法线是每个平面的单位法线(长度指定为1)。如操作404(图4)所示,对于检测到的每个垂直平面对重复该操作,其中针对每个对轴v1与垂直轴v2配对。过程500可以包括“形成每个轴对的第三个轴”518,并且具体地,以形成主轴(或主坐标系)s。主轴可以包括从主要的检测到的平面的法向量中选择的三个正交轴。三个主轴可以表示为v1、v2、v3,其中v1⊥v2、v1⊥v3、v2⊥v3,这符合右手法则。因此,主轴可以被定义为s=[v1v2v3],其中v1,v2,v3分别是3×1列向量,这使得s是3×3矩阵。按照一种形式,形成每个轴(或向量v)的三个值是指示形成该轴的法线方向的值,或者换句话说,每个轴是来自平面等式(ax+by+cz+d=0)的法向量[a,b,c],尽管也可以使用其他形式。对于每对法向量(或轴),如果它们彼此垂直,则将它们选择为上文提到的v1和v2的候选,并通过以下方法获得第三个主轴:v3=v1×v2(4)其中“×”是两个向量的叉积。在过程400中也示出了该操作(参见图4中的操作406)。两个点云p和q的主轴生成也可以表示为分别在过程(图4)的操作408和410处示出的和过程500可以包括“选择前k个候选轴对”520。点云可以具有许多不同的主轴。因此,过程500可以生成p和q的全部或许多单独的候选主轴。为了确定迭代期间的最佳重叠区域,将来自一个点云的主轴与来自另一点云的主轴的主轴进行匹配,以形成候选主轴对。执行此操作以最终生成对准的主轴(或对准的坐标系)。如果是p和q的对准的主轴,则p和q中的相应点将在所创建的坐标系中仅具有平移关系。换句话说,每个主轴建立了它自己的坐标系,例如3d空间中的(x,y,z)坐标。因此,当p和q中的点的坐标被转换为如对准的主轴对指示的新的坐标系时,其中和(其中,这里的“×”是矩阵乘法),p'和q'中的相应点仅与对应点具有平移差异,而在旋转方面无差异,从而简化了对变换的确定。因此,过程500可以包括“执行轴匹配”522,并且一个点云的主轴可以与另一点云的另一个主轴匹配,以形成将在迭代期间使用的一组候选主轴对,并确定对准的主轴对和最佳重叠区域。主轴的匹配可以通过使用一组启发式规则来执行。按照一种形式,过程500可选地可以包括“使用颜色直方图”524。通过该选项,将轴的图像数据投影到每个轴的颜色直方图中,并且将这些主轴进行比较的并且具有最小差异的主轴指定为候选主轴对。除了颜色直方图之外,其他方法也可以用于匹配主轴。主轴匹配被示为过程400(图4)中的操作412。在该示例中,可能存在将用于进行分析的候选主轴对的阈值截止数目。所选的候选集可以表示为其中k=1至k个候选主轴对,并且这也被示为过程400(图4)中的操作414。通过如图5h所示的一个示例,由于在立方体重叠区域500-h中有六个面(例如502-h和504-h),所以最多有24个候选并由此有24种可能的不同方位,这是因为对于立方体中的主轴(在每个拐角508-h处包括一个主轴506-h),其中一个轴(例如x轴)可以沿三个不同方向中的任意一个方向延伸(因此,对于轴=24,则为8个拐角×3个方向)。因此,这里的k的最大值为24。请注意,候选轴在点云或重叠区域之上或之中的位置是无关紧要的;在立方体重叠区域的拐角处放置的主轴仍然可以表示在相同方向上延伸的相同主轴。通过另一种方法,过程500可以使用所有或许多单独的候选主轴对,而不是将集合限制为仅前k个,但是这样的过程可能不必要地增加了点云配准的计算负荷。然后,过程500转向进行迭代。每次迭代都具有两级。通常,第一级是估计(或重新估计)重叠区域bp。在第一级中,重叠区域bq和bp被初始化(并且每次迭代的初始重叠区域在下文被表示为和)。bq固定在点云q中,以使其中心位置在第一级期间不变。生成n个重叠区域样本以表示点云p中的候选重叠区域bp,然后将它们生成为与初始重叠区域bp在位置或边缘长度或这两者上的变化。改变bq的边缘长度,以匹配要在整个第一级中并且仍在单次迭代中进行比较的每个重叠区域样本的边缘长度。然后,通过找到最大观测值概率来在第一级期间确定最佳重叠区域bp,如下文描述的。在第二级中,现在将来自点云p的、并且在第一级中确定的最佳重叠区域bp的中心点固定在点云p中,然后绘制n个重叠区域样本以表示点云q中的候选重叠区域bq。与第一级一样,重叠区域bp和迭代通过找到最大观测值概率,进行到选择最佳重叠区域bq。这两个级包括对变换的估计和重叠调谐过程两者,它们交互地进行,直到重叠区域不再变化(达到收敛)为止。当没有达到收敛时,将此次迭代的两个级中的最佳重叠区域bp和bq用作下一迭代中的初始重叠区域bp和bq。现在更详细地,过程500可以包括“获得初始选择的第一和第二重叠区域”526。该初步操作是指获得由用户手动设置、或由点云配准或3d单元或任何其他应用自动设置的任何参数。列举一个示例,这可以包括将期望的边缘长度设置为例如点云的边界框长度的分数倍。如果用户或程序自动地想要在视频序列中使用该方法,则可以输入不同的十进制数字,例如“0.2”、“0.3”、和“0.5”来作为将被设置为重叠区域的边缘长度的分数倍。然后可以选择质量最佳或最有效的结果。否则,输入内容可能是诸如十进制数字“0.5”之类的设置,这虽然不能确保最佳结果,但仍可以提供可接受的结果。许多其他参数也可以通过这种方式来设置。过程500可以包括“初始化第一和第二重叠区域bp、bq”528。这可以包括设置重叠区域的位置(这里是中心点)和边缘长度(继而是边缘位置)。因此,过程500可以包括“确定第一和第二3d重叠区域的中心点”530。按照一种形式,重叠区域和被初始化为使其中心点分别位于点云p和q的中心(表示p和q的三维边界框的中心坐标)。过程500还可以包括“确定第一和第二重叠区域的边缘的初始长度和位置”532。如这里提供的示例中,当重叠区域是立方体时,对于所有三个尺寸(重叠区域的宽度、高度和长度),仅需要一个数字来作为输入,并且应理解,三维立方体重叠区域的中心点具有从重叠区域的边缘并且到重叠区域的在任何立面视图中的每个边缘的一半边缘长度的坐标。如所提到的,重叠区域的边缘的初始长度可以由用户设置或者由3d单元或某些其他应用自动设置。在一个示例中,获得点云p和q的边界框。然后,确定两个边界框的最长边缘(表示为“a”)。然后可以将重叠区域的初始边缘长度设置为a/2,因此示例输入可以是十进制数“0.5”。用户或应用可以根据实验或点云的先验知识来设置初始边缘长度。如果先验信息不是已知的,则可以将初始十进制数设置为某一默认值,例如“0.5”。好的初始边缘长度可以加快处理速度,还有助于提高配准精度,但是该数字并不会显著影响最终结果,这是因为每次迭代都发生更新,而无论输入边缘长度如何。过程500可包括将时间或迭代设置为“设置t=0”534的迭代计数器,以始于第一次迭代。然后,过程500可以包括“重新估计第一重叠区域536以开始迭代的第一级。在本示例中,第一级被认为继续进行,直到操作589。在第一级中,生成具有经修改的位置、尺寸或这两者的重叠区域样本,这些样本将通过执行上文介绍的并在下文更详细解释的变换估计和重叠调谐来用于确定最佳重叠区域。可对重叠区域样本的生成进行如下解释。过程500可以包括“为n=0至n个样本生成n个重叠区域样本来作为的变化”538。按照一种形式,对于n=0至49个样本,n=50,但是可以将n设置为其他所期望的数字。过程500的该操作可以包括“生成相对于具有在边缘尺寸、中心点位置或这两者上的变化的个体样本”。按照本示例,每个重叠区域样本都具有在位置和边缘长度两者上的变化。然而,将理解,其他示例也是可能的,例如改变25个样本(或某一其他数目)的边缘长度并改变25个样本(或某一其他数目)的中心位置。例如,另一选项可以包括在诸如奇数次迭代t=1,3,5,...之类的某些迭代中使得样本被生成为具有边缘长度变化,而在例如偶数次迭代t=2,4,6,…中使得样本被生成为具有中心位置变化。可以考虑许多其他变型。过程500可以包括“使用基于高斯分布的随机采样算法来生成样本”542。因此,可以完全随机地或者以某一间隔将重叠区域样本生成为上述边界框的中心位置和边缘长度的比率,如上文描述的。取而代之的是,简化形式的顺序重要性重采样(sir)粒子滤波被应用,并且这涉及通过使用高斯函数作为采样似然度来使用更有效的技术。下文通过解释重叠调谐提供了粒子滤波的其他细节。在此相关的,可以应用高斯函数来获得重叠区域样本n。例如,位置和大小(边缘长度)是独立采样的。在此,以重叠区域样本的边缘长度(或边缘大小)为“s”并且初始重叠区域的边缘长度为为例,以使得生成一个样本是从所有可能的“s”中选择“s”。边缘长度的高斯函数或分布可以表示为:其中σ是偏差(而σ2是方差),其可以通过实验预先确定并由3d单元或其他应用提供。在本实现方式中,位置的方差可以设置为0.25*边缘长度,并且边缘长度的方差可以设置为0.2*边缘长度,但是可以使用其他值。高斯函数通过在“s”接近时提供较高的“s”值,而在“s”远离时提供较低的“s”值,来指示哪个“s”更有可能被选择,从而建立均值是由前一次迭代选择的最佳重叠区域的边缘长度的高斯函数或分布。最佳重叠区域的均值受到青睐,是因为我们假设在第t次迭代中获得的和具有比在第(t-1)次迭代中更高或相等的条件观测值概率要。可以使用许多不同的技术来实现高斯采样。例如请参阅,www.alanzucconi.com/2015/09/16/how-to-sample-from-a-gaussian-distribution。对于位置(或中心点)上的改变,位置可以表示为向量c=(x,y,z),这是立方体的中心点,其高斯函数为其中是的中心点,而σ是协方差(单位)矩阵:仍然在第一级中,过程500可以包括“生成具有与对应的相同的边缘尺寸的的边缘尺寸的变化以及与相同的固定中心点位置的个体样本”544。这里的固定是指使每个重叠区域的中心点与初始的(或最新的)保持相同。因此,在第一级中,当生成重叠区域样本时,每个样本在中心位置和边缘尺寸上都发生变化。然后,当在第一级中生成n个重叠区域样本时,所生成的的边缘大小与相同,但中心位置与相同,以使得这两个重叠区域用作下文的等式(x)中的输入,从而能够将主轴与具有相同大小的重叠区域对准(或匹配)。换句话说,比较具有不同大小的重叠区域,进而是不同大小的点分布,准确性可能会较低。在第二级中,操作540包括(在第二级中,仅修改中心点以生成个体样本)。具体地,除了在第二级中使用高斯分布生成的重叠区域样本之外可以执行类似的操作。因此,在第二级中,除了用“q”来交换每个“p”之外,使用上文的等式(6)修改中心点。但是,所有重叠区域样本的边缘长度都固定为与最新的最佳的边缘长度相同,而的中心点与的中心点无关。重叠区域样本将与最新的最佳(其边缘长度和中心点不变)进行比较(544)。返回第一级描述,可以通过使用主轴或主坐标对准来执行变换估计。可以将重叠区域设置为具有立方体面,这些立方体面中的每一者都平行于点云的主轴之一。一旦分别在点云p和q中设置了重叠区域bp和bq的中心点和边缘长度,变换估计的问题就是要选择使概率p(r,t|bp,bq)最小的最佳变换旋转部分r和平移部分t,并且如上文所解释的,在给定其重叠区域的情况下,该概率表示变换的条件概率。在给定重叠区域b中的点的情况下,可以通过二进制点分布直方图z(b)=hp(b)来描述其观测值z(b)。重叠区域b被划分至m个立方区间中,其中在本公开中例如每个区间的大小可以被设置为大约0.053m3,函数hp()被定义为二进制直方图,其中每个区间中的值hp[m](m=1,2,…m)在该区间中的点数大于阈值的情况下为1,否则为0。然后,匹配两个重叠区域bp和bq的成本可被定义为:cost(z(bp),z(bq))=d(hp(bp),hp(bq))(5)其中函数d()是汉明距离。为了选择p和q的对准的坐标系对,我们定义了在给定重叠区域时测量坐标系对准概率的似然度:并且对准的坐标系对可以通过以下方式来选择:其中主轴属于k=1至k个候选主轴对spq之一。如所提到的,k可以限制为立方体上的24个可能方位。由于用于主轴对准的这样的稀疏空间,而不是测试点云中每个可能的主轴对,因此该方法可以是非常快速的。为了实现该主轴对准等式(或主轴与重叠区域样本的匹配),过程500可以包括启动样本计数器以“设置n=0”545以发起该过程。此后,过程500可以包括“设置”546、“设置”548、以及“设置k=0”550。过程500随后可以包括“将与主轴k对准的和的经调整的重叠区域确定为和”552。这是指矩阵乘法,并将重叠区域样本和重叠区域中的点的坐标分别调整为主轴和的坐标,从而将重叠区域样本和重叠区域与各自的主轴对准。过程500可以包括“确定经调整的重叠区域之间的差异”554,并且按照一种形式,这包括根据上文的等式(7)的操作“确定每个经调整的重叠区域的二进制点分布直方图之间的汉明距离d”556。应理解,可以使用其他等式来确定汉明距离或与候选主轴对准的重叠区域之间的不同代表性差异。过程500可以包括“如果汉明距离exp1/d是到目前为止的最大值,则针对n将保存为最佳”558,其中候选主轴对被保存为具有对准等式(7)的最大值的潜在对准的主轴对。当对准等式(7)第一次被使用于进行迭代时,将自动保存第一个值。处理500进行至问询“k=k?”560以确定是否已经测试了所有候选主轴,如果没有,则过程500可以包括“设置k=k+1”562,并且过程循环回到操作552,以测试下一主轴对以进行与重叠区域样本的对准和匹配。一旦测试了所有候选主轴对k,则过程500可以包括“将最后保存的设置为针对n的最佳对准主轴对”564,以使得主轴对现在与重叠区域样本对准(或匹配)。然后,过程500可以包括问询“n=n?”566以确定是否已经测试了所有重叠区域样本n。如果否,则过程500可以包括“设置n=n+1”567以获得下一重叠区域样本及其对应的重叠区域然后,利用所有候选主轴测试该下一重叠区域样本,直到所有的(或某一少于全部的期望量的)重叠区域样本与主轴对匹配或对准为止。一旦针对每个重叠区域样本完成了主轴对准,过程500就进行重叠调谐操作以确定用于迭代的单个最佳重叠区域,这表示后验概率,如上文解释的。重叠调谐的基础如下。可以采用贝叶斯(bayesian)滤波的递归来估计重叠的区域。在贝叶斯预测级,p和q中的重叠区域被预测,而在更新级,重叠区域基于观测值被更新:预测:更新:其中“t”是迭代时间。迭代地进行上述预测和更新步骤,直至收敛为止。这个迭代过程在理论上很有吸引力,但是由于bp和bq的组合的搜索空间较大,因此很难处理。替代地,已发现利用粒子滤波可以实现上文的贝叶斯滤波的精确近似。具体地,所公开的方法可以是简化形式的顺序重要性重采样(sir)粒子滤波器。粒子滤波器通过随机采样表示似然度p(x)。它计算每个样本的权重,并选择权重最大的那些样本。请参阅例如p.abbeel的“particlefilters(粒子过滤器)”,加州大学伯克利分校eecs(2012年11月)(见people.eecs.berkeley.edu/~pabbeel/cs287-fa12/slides/particlefilters.pdf)。可以以如下方式将粒子滤波器应用于当前点云配准方法。粒子滤波的第一部分是预测,这里公开的方法基于高斯分布预测重叠区域的位置和大小:当如上文描述的那样确定重叠区域样本n(上文关于操作542对此进行了描述)时,将其应用于当前的云配准方法。接下来,执行加权以计算每个样本的重要性和/或权重。这通过下文示出的用于选择迭代的最佳重叠区域样本的汉明距离等式(24)和(25)来完成。最后,sir粒子过滤包括基于所计算的权重进行重采样,以在下一次迭代时更新样本。本方法与基础sir粒子滤波器之间的区别在于:在该级处,原始sir方法中,基于权重的分布来对样本进行重采样。相比之下,当前点配准方法仅重用具有最大权重的最佳重叠区域样本。因此,本方法的重采样仅生成一个样本,或者可以说该方法通过复制前一次迭代中的最佳样本来生成n个复制样本。为此,概率密度函数可以用一组粒子来表示。然而,和的联合采样空间仍然太大,减小采样空间的常见解决方案是逐一地对和进行采样。公式可近似为:预测更新预测更新其中和是从当前状态到下一状态的所提议的预测函数,它们由以和为中心的高斯分布建模并已由重叠区域采样n应用,并且和是将由粒子过滤器建模的概率密度函数。如所提到的,bp和bq的采样是分开的并且逐个交替地执行。在第一级,该过程通过从第t次迭代中选择最佳样本来将bq固定为然后对进行采样和更新。然后,在第二级,该过程通过从第(t+1)次迭代中选择最佳样本来将bp固定为并对进行采样和更新。和的概率密度函数被用它们的粒子和来更新:其中δ()是狄拉克德尔塔函数(diracdeltafunction),而表示第n个样本的重要性。这通过以下方式来建模的:然后,和被选择为具有最大观测值概率的那些:其中和在第t次迭代中从p到q的经变换重叠区域。为了简化第一级的实现,可以对权重等式(17)进行如下简化:其只是将权重放在本方法使用的项(term)中,其中是到目前为止最佳的重叠区域(无论是在第一次迭代中初始还是来自先前迭代)。然后,对每个候选进行的加权可以是:其可被简化以选择具有最大的权重(进而具有最小的汉明距离)的最佳样本。并通过下式来选择此次迭代中的最佳bp:其中是第t次迭代中bp的最佳样本,是对应的主轴对,×是矩阵乘法,而d()是在等式(2)中定义的汉明距离。换句话说,当将主轴与重叠区域样本对准时,汉明距离就已通过等式(7)被计算出,并且现在,在存储汉明距离的情况下,仅需要从存储器中获得所分析的重叠区域的相关汉明距离。进行相同或相似的过程来调谐bq:其中是第t次迭代中bq的最佳样本,是相应的主坐标系对。为了实现该操作,过程500可以包括“设置n=0”568,以重置重叠区域样本计数器。然后,过程500可以包括“针对t确定最佳重叠区域和最佳主轴对”569,并且这是指要应用上文针对第一级的等式(24),以及针对第二级的等式(25),如所提到的,这表示云配准方法的后验概率,并且是通过使用简化的sir粒子滤波器加权来执行的。该操作可以包括“获得n的最佳对准的主轴对的汉明距离d”570,并且如所提及的,通过获得在将主轴与重叠区域样本对准时已计算出的相关汉明距离d。一旦获得了所分析的当前重叠区域样本的汉明距离,则过程500可以包括:“如果到目前为止的汉明距离d最小,则针对t将和保存为最佳”571。否则,当前重叠区域样本被丢弃。如果是,则存储当前的重叠区域样本如所提到的。此后,过程500可以包括问询“n=n?”572,以确定是否已经分析了所有重叠区域样本,来确定最佳重叠区域样本如果否,则过程500进行到“设置n=n+1”573,并且过程循环回到操作569以将等式(25)应用于下一重叠区域样本以确定它是否是到目前为止最佳的重叠区域样本。当到达最后的重叠区域样本n时,过程500然后可以包括“将最后的设置为”574,从而设置迭代的最佳重叠区域和相应的对准的主轴对。然后,过程500可以包括“计算旋转矩阵”575,其中在给定候选主轴对spq的情况下,r和t的选择等同于对准的主坐标对的选择。因此,当再次使用上文的成本等式(5)时,给定重叠的情况下的变换的条件概率也可以通过下式来测量:由于观测值z(b)的平移不变性,因此变换在旋转矩阵方面的优化可以转换为:其中和是由从主轴集spq中提取的主轴组成的旋转矩阵,k=1,2,…k,其中如上文描述的这里k=24。通过分别将旋转和应用于p和q,两个点云处于平行坐标系中。因此,从p到q的旋转矩阵可通过下式获得:在描述就对准的主轴对而言的变量时,从p到q的旋转矩阵的等式变为:其中r是从p到q的旋转矩阵,其中是r的最优旋转矩阵,并且其中和均为3×3矩阵。在针对迭代确定了最佳重叠区域后应用该等式,该等式变为:然后,过程500可以包括“计算平移”576。在估计旋转矩阵之后,可以通过下式来估计平移向量:并被应用于此处的特定过程:其中和分别是bq和bp内的平均坐标或中心点,并且分别是提供坐标[xyz]的3×1向量。这里的平均值是指平均坐标,其中:其中p是bp内的点。此后,过程500可以包括“应用测试以进行更新”577。该操作测试点云之一中通过最佳旋转矩阵重新对准的最佳重叠区域是否接近另一云的最佳重叠区域。将这两者之间的差异与使用最后的初始或最佳重叠区域的相同差异进行比较。因此,对于第一级,过程500可以包括“为估计确定(578)是否其中是在估计时在第一级中到目前为止的最佳重叠区域,而是在估计bq时在第二级中的最新最佳在上使用帽子指示与具有相同的中心位置。类似地,对于第二级,过程500可以包括“为估计确定(579)是否为了将相同的测试应用于第二级的最佳重叠区域这些测试涉及应用矩阵乘法以通过指示的旋转矩阵调整重叠区域。这里的点位置直方图如上文描述的其他直方图那样生成的,并且确定两个直方图之间的汉明距离。无论在第一级还是第二级,过程500都可以包括问询“满足测试吗?”580或581。如果就第一级而言满足测试,则过程500可以包括“确定收敛差异”582。对于第一级,这涉及操作“确定的最新的最佳中心位置和最新的的中心位置之间的差异”583,以及“确定的最新的最佳边缘长度与最新的的边缘长度之间的边缘长度差异”584。这两个差异可以是如下的欧几里得距离,尽管也可以使用其他类型的距离。其中和分别是和的中心位置,并且和分别是和的边缘长度。由于这两个收敛差异,过程500可以包括“更新”585,以将迭代t的最佳r和t更新为所有迭代的到目前为止的最佳r和t。然后,过程500还可以包括“设置”586,以对进行更新。然后,该过程进行到发起第二级。因此,过程500可以包括“重复操作536至588(通过将操作536到586中的p替换成q)以估计”590。因此,除了是估计以外,这些操作被重复。这些操作是相同的,除了如上所述应用了不同等式等之外。然后,该过程循环至操作536以开始迭代t的第二级。当在第一级中不满足更新测试时,过程500跳过对收敛差异的确定,进行到操作586以“设置”,然后循环回到作为迭代t的第二级的操作590和536。一旦第二级完成且确定了最佳重叠区域并且满足了更新测试(580),则过程500可以确定收敛差异582,并且可以包括“确定的最新的最佳中心位置和最新的的中心位置之间的中心位置差异”587。这也可以是如下的欧几里德距离。其中和分别是和的中心位置。对于第二级收敛差异,不需要使用边缘长度(或其他尺寸)的差异。然后,与第一级的操作585一样,过程500还可以包括“更新”588。此后,过程500可以包括“设置”589以更新一旦迭代的两个级都完成,则过程500可以包括问询“是否满足至少一个更新测试?”591,以确定需要哪些值来确定是否已经达到收敛(其中重叠区域在迭代之间不再变化或变化很小)。如果第一级和第二级都不满足更新测试,则过程500进行到“设置t=t+1”592,并且过程循环回到操作536以开始下一迭代t。然后,下一问询是问“两个测试都满足吗?”593。如果迭代的第一级和第二级都满足两个更新测试,则过程500可以包括收敛测试:“中心位置差异和边缘长度差异都满足收敛标准吗?”594。这是在问是否所有三个收敛差异都小于阈值:dcp<θ1并且dcq<θ1并且dsp<θ2(38)其中θ1和θ2是通过实验或其他方法设置的预定阈值。此阈值测试具有来自两个级的因素:从第一级测试的重叠区域位置和边缘长度、从第二级测试的重叠区域位置。如果不满足所有三个标准,则过程500可以包括“设置t=t+1”595,并且过程循环回到操作536以开始下一迭代。如果满足所有三个标准,则过程500可以包括“保存以及以及作为两个成对图像之间的变换”596,并且云配准过程结束。然后,其他应用或程序(例如3d深度图或3d模型重建)可以使用该转换,如上文描述的。当迭代中仅满足一个更新测试时,过程500可以包括“针对收敛应用测试”597。这包括“在估计时满足更新测试:使用来自针对的上次迭代t-1的中心位置差异”598,或“在估计时满足更新测试:使用针对的上次迭代t-1的中心位置差异和边缘长度差异”599。换句话说,代替新计算的收敛差异(如操作582中那样),将来自最后一次迭代的收敛差异用于收敛阈值比较测试等式(38)中。然后,过程500继续进行到操作594,应用等式(38)中的阈值以确定是否存在收敛,如上文已经描述过的。应领会,代替针对收敛阈值的测试,也可以使用其他测试。上文描述的方法的总结可以在伪代码样式列表中进行如下说明:输入:点云p和q输出:对旋转矩阵平移向量重叠立方体和的估计。通过将放在p和q的中央,并手动设置它们的边缘大小来初始化它们。对于t=0…t●估计○基于高斯分布来预测的中心点“c=(x,y,z)”和边缘大小“s”。n=0,1,2,…49,设置○其中是是边缘大小并且σ是预定的○其中是的中心点并且σ被设置为单位矩阵○生成50个n=0,1,…49,每个的中心位置与相同,并且在具有相同的n时的边缘大小与相同。○对每个立方体对n=0,…49进行主坐标对准。将对准的坐标系对表示为○该步骤的输入是重叠立方体并且输出是主坐标系对○选择最佳的重叠区域对以及其主坐标系○对每个候选加权:■○因此,选择具有最大权重的最佳样本■其中d(.)是在等式(2)中定义的汉明距离○○计算立方体对的和○○○更新和○如果■其中和分别是和的中心位置。和分别是和的边缘大小■○重采样:●估计○基于高斯分布来预测的中心点“c=(x,y,z)”。n=0,1,2,…49,设置○其中是的中心并且σ被设置为单位矩阵○设置所有的的边缘大小与相同。○对每个立方体对n=0,…,49进行主坐标对准。将对准的坐标系对表示为○从所有k=0,1,2,…49选择最佳的重叠区域对以及其主坐标系○对每个加权:■○选择具有最大权重的最佳样本■■○基于等式(5-6)计算和○更新和○如果■其中和分别是和的中心点。■○重采样:●收敛●如果dcp<θ1并且dcq<θ1并且dsp<θ2,则迭代停止,否则转到下一迭代。θ1和θ2是用户手动设置的阈值。结束测评通过两个数据集对所公开的点云配准方法进行了测评。realsensetm数据集被捕获以获得具有317个rgbd图像的点云。针对点云配准对该数据集进行了在旋转变化方面的测试。第二个数据集是使用捕获的7scenes数据集。请参阅j.shotton等人的“scenecoordinateregressionforestsforcamerarelocalizationinrgb-dimages(用于rgb-d图像中相机重定位的场景坐标回归森林)”,ieee计算机视觉和模式辨识会议议事录,第2930-2937页(2013年)。参考图6-图11,使用5种常规方法以及本云配准方法来重建图像,然后进行比较。所使用的rgbd图像对示出了具有厨房和公文夹的场景,但重叠很小。为了测试配准算法的性能,使用相对旋转误差er和相对平移误差et测量了地面真实(groundtruth)姿势与估计姿势之间的成对对准误差:其中rg是真实的旋转矩阵,是估计的旋转矩阵,并且f()将旋转矩阵转换为三个欧拉角。其中tg是地面真实平移向量,是估计平移向量。针对强旋转的鲁棒性首先,针对realsensetm数据集上的不同旋转,测试了点云配准方法的性能。对点云应用了不同的旋转。配准结果示于下表1中。表1.具有旋转的点云的配准结果(a)j.yang等人的go-icp;有效且全局最佳地解决3d配准问题,iccvm,第1457-1464页(2013年)可以看出,当旋转角度大于60°时,本方法优于其他传统方法。因为本方法基于主轴(主坐标)对准和主轴提取,而主轴(主坐标)对准和主轴提取在理论上相对于旋转变化是不变的,所以本方法在不同旋转变化下实现了相对稳定的旋转估计结果。特别是,当旋转角度大于90°时,我们的方法效果很好,而其他方法则完全失败。针对小重叠的鲁棒性还针对具有小重叠的点云测试了点云配准方法的配准性能。来自7scenes(请参阅上文引用的j.shotton等人)数据集的测试图像对中的重叠范围为13%至50%。两个点云p和q之间的重叠率(or)被定义为它们的交集点数与并集点数的比率:其中t(p)是由真实变换矩阵变换的点云。n()是点数。如果从p中的点到q中的点的距离小于阈值,则将它们视为p和q的交集中的一个元素。配准误差示于下表2中。配准结果的示例在图6-图11中示出。可以看出,随着重叠率的降低,本方法提供了一致的良好结果,而其他常规方法则表现较差。表2.对于较小重叠的配准误差参考图6-图11,图像600示出了真实的经配准的点云,图像700示出了icp的结果,图像800示出了广义-icp的结果,图像900示出了go-icp的结果,图像1000示出了修整-icp的结果,并且图像1100示出了本方法的结果。计算复杂度测评对每种算法的计算时间进行计数,以配准由vga大小的rgbd图像对生成的两个点云。每个点云中的点数约为300,000,并且在表3中示出了一次迭代的计算成本。我们方法的计算时间仅为icp的一半。表3清楚地表明:本云配准方法改进了操作该云配准方法的计算机、计算设备、和/或相机的功能。表3.不同方法的计算成本结论在下表4中总结了现有技术与本公开之间的区别,并且在下表5中列出了本公开的优点。本公开提出了用于曼哈顿点云配准的新框架。它利用曼哈顿场景中的几何先验项、定义了点云的主坐标系、并引入了基于主坐标系的配准方法。所公开的方法使用重叠区域,并在按照一个示例中,立方体的形式用于重叠表示,而传统方法使用诸如点和线之类的低级几何形状描述子。本方法的优点是显式地估计了重叠区域,这准确地去除了不相关的区域,从而导致关于较小重叠场景的鲁棒性。所公开的方法通过主坐标对准来估计变换,而传统方法则依赖于低级和局部特征描述和匹配。由于主坐标对准是基于全局立方体特征的,因此针对强旋转,它比传统方法更具有鲁棒性。由于主坐标对准的空间稀疏,所以所公开的方法是快速的,而由于每次迭代中进行的大量特征对应,传统的方法是缓慢的。表4.现有技术与本公开之间的区别表5.本公开在配准结果方面的优点结果现有技术本公开20%<重叠率<50%×√旋转>60°×√变换参数空间稀疏/密集稀疏此外,图3和图5a-图5g的操作中的任何一个或多个可响应于由一个或多个计算机程序产品提供的指令来进行。这种程序产品可包括提供指令的信号承载介质,所述指令当被例如处理器执行时可提供本文描述的功能。计算机程序产品可在任何形式的一个或多个机器可读介质中提供。从而,例如,包括(一个或多个)处理器核的处理器可响应于被一个或多个计算机或机器可读介质输送到处理器的程序代码和/或指令或指令集而进行这里的示例过程的一个或多个操作。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式输送软件,所述程序代码和/或指令或指令集可使得本文描述的任何设备和/或系统如本文所描述地被执行。机器或计算机可读介质可以是非暂态制品或介质(例如非暂态计算机可读介质),并且可以与上文提到的任何示例或其他示例一起使用,除了其不包括暂态信号本身之外。但它确实包括除信号本身以外的那些元件,例如ram等,它们可以以“暂态”方式临时保存数据。如在本文描述的任何实现方式中使用的,术语“模块”指的是被配置为提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。软件可实现为软件封装、代码和/或指令集或指令,并且如本文描述的任何实现方式中所使用的,“硬件”例如可单一地或者按其任意组合地包括硬连线电路、可编程电路、状态机电路、和/或存储被可编程电路执行的指令的固件。模块可集体地或者个体地体现为形成诸如集成电路(ic)、片上系统(soc)之类的更大系统的一部分的电路。例如,模块可以体现在逻辑电路中,以经由本文论述的编码系统的软件、固件、或硬件来实现。如本文所描述的任何实现方式中所使用的,术语“逻辑单元”是指被配置为提供本文所描述的功能的固件逻辑和/或硬件逻辑的任何组合。逻辑单元可以共同地或单独地体现为形成更大系统(例如,集成电路(ic)、片上系统(soc)等)的一部分的电路。例如,逻辑单元可以体现在逻辑电路中,以实现本文论述的编码系统的固件或硬件。本领域普通技术人员将领会,由硬件和/或固件执行的操作可以替代地经由软件来执行,该软件可以体现为软件包、代码和/或指令集或指令,并且还可以领会到逻辑单元可以还利用软件的一部分来实现其功能。如本文所描述的任何实现方式中所使用的,术语“组件”可以指代模块或逻辑单元,如这些术语在上文描述的一样。因此,术语“组件”可以指被配置为提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域的普通技术人员将领会,由硬件和/或固件执行的操作可以可替代地经由软件模块来实现,该软件模块可以体现为软件包、代码和/或指令集,并且还应领会,逻辑单元还可以利用软件的一部分来实现其功能。参考图12,示例图像处理系统1200是根据本公开的至少一些实现方式布置的。在各种实现方式中,示例图像处理系统1200可以具有用于形成或者接收所捕获的图像数据的成像设备1202。这可以通过多种方式来实现。因此,按照一种形式,图像处理系统1200可以是一个或多个数字相机或其他图像捕获设备,并且在这种情况下,成像设备1202可以是相机硬件和相机传感器软件、模块、或组件1204。在其他示例中,成像处理系统1200可以具有成像设备1202,其包括或可以是一个或多个相机,并且逻辑模块1204可以与成像设备1202远程通信或以其他方式通信地耦合至成像设备1202,以进行对图像数据的进一步处理。因此,图像处理设备1200可以是诸如智能手机、平板设备、笔记本电脑、或其他移动设备之类的多用途设备上的,甚至是计算机或其他计算设备上的一个或多个相机。在其他方面,设备1200可以是具有多个相机的平板设备或其他设备,其中处理发生在这些相机中的一个处或与这些相机通信的单独处理位置处,无论这些相机是在平板设备或其他设备上还是在平板设备或其他设备外,并且无论处理是否是否在移动设备上执行)。在这些情况的任何一种中,这样的技术可以包括诸如数字相机系统、专用相机设备、或成像电话或平板设备之类的相机,无论是静态图片还是视频相机,可提供或可不提供预览屏幕的相机,或这些的某种组合。因此,按照一种形式,成像设备1202可以包括相机硬件和光学器件,其包括一个或多个传感器以及自动聚焦、变焦、光圈、nd滤光片、自动曝光、闪光灯、和致动器控件。这些控件可以是传感器模块或用于操作传感器的组件1206的一部分。传感器组件1206可以是成像设备1202的一部分,或者可以是逻辑模块1204的一部分或这两者。这样的传感器组件可用于为取景器生成图像并拍摄静态图片或视频。成像设备1202还可具有镜头、具有rgb拜耳(bayer)滤色器的图像传感器、模拟放大器、a/d转换器、将入射光转换成数字信号的其他组件等、和/或它们的组合。在本文中,数字信号也可以称为原始图像数据。其他形式包括相机传感器类型的成像设备等(例如,网络摄像头或网络摄像头传感器或其他互补金属氧化物半导体类型图像传感器(cmos)),而无需使用红绿蓝(rgb)深度相机和/或麦克风阵列来定位正在讲话的人。相机传感器还可以支持其他类型的电子快门(例如除了卷帘快门和许多其他快门类型之外或代替卷帘快门和许多其他快门类型的电子快门)。在其他示例中,除了相机传感器之外或替代相机传感器,可以使用rgb深度相机和/或麦克风阵列。在一些示例中,成像设备1202可以配备有眼跟踪相机。成像设备1202还可以具有镜头致动器1208,该镜头致动器具有镜头和镜头驱动器或驱动器逻辑,该镜头驱动器或驱动器逻辑接收移动镜头的命令并施加电流以移动镜头。成像设备1202可以具有用于捕获与本文描述的方法和系统一致的图像的任何其他相关组件。在所示示例中,逻辑模块1204可包括预处理单元1210,其接收并修改原始图像数据以进行进一步处理,并且如上文所描述。逻辑模块还可包括3d单元1212(其又包括点云匹配单元1214)和可选的深度图单元1250、3d模型单元1252、和/或可使用点云配准的其他这样的应用。按照一种形式,深度图单元1250可以如上文提到的那样并且在重建3d空间之前使用点云配准变换进行校准。点云配准单元1214可以具有候选主轴对单元1216、初始3d重叠区域单元1218、3d重叠区域样本单元1240、候选主轴到样本匹配单元(或主轴(或坐标系)对准单元)1242、最佳样本选择单元1244、更新单元1246、和收敛单元1248,其中每个单元被布置为执行上文提到的操作,并执行与此处的单元标题相关的任务。逻辑模块1204可以在物理上与成像设备分离,也可以不与成像设备物理分离,并且无论在物理上是否分离,当对成像设备提供的数据执行任务时,逻辑模块1204仍可以被认为是成像设备的一部分。还应理解,这些单元中的任何一个都可以包括用于执行该单元的标题所建议的任务的任何代码或硬件,并且这些代码或硬件实际上可以是也可以不是与执行其他任务的其他对象或代码物理分离的对象或独立的代码段。图像处理系统1200可以具有一个或多个处理器1220(这些处理器可以包括诸如intelatom之类的专用图像信号处理器(isp)1222)、可以或可以不保存点云或与点云配准相关的其他数据的存储器库1224、提供图像1230的一个或多个显示器1228、编码器/解码器1232、以及天线1234。在一个示例实现方式中,图像处理系统100可以具有显示器1228、通信耦合到该显示器的至少一个处理器1220、通信地耦合到处理器的至少一个存储器1224。可以提供编码器/解码器1232和天线1234以压缩经修改的图像,以便传输到可以显示或存储图像的其他设备。将理解,编码器/解码器1232可以包括用于接收和解码供系统1200处理(包括由3d单元1214进行的点云配准)的图像数据的解码器。否则,可以将经处理的图像1230显示在显示器1228上或存储在存储器1224中。如图所示,这些组件中的任何一个都能够彼此通信和/或与逻辑模块1204和/或成像设备1202的多个部分通信。因此,处理器1220可以通信地耦合到图像设备1202和逻辑模块1204两者,以操作这些组件。按照一种方法,尽管图像处理系统1200(如图12所示)可以包括与特定组件或模块相关联的一组特定的框或动作,但这些框或动作可以和与这里示出的特定组件或模块不同的组件或模块相关联。参考图13,根据本公开的示例系统1300操作本文描述的图像处理系统的一个或多个方面。从下文描述的系统组件的性质中将理解,这样的组件可以与上文描述的图像处理系统1800的某一部分或某些部分相关联或用于操作上文描述的图像处理系统1800的某一部分或某些部分。在各种实现方式中,系统1300可以是媒体系统,但是系统1300不限于此情境。例如,系统1300可以合并到数字静态相机、数字视频相机、具有相机或视频功能的移动设备中,例如成像电话、网络摄像头、个人计算机(pc)、膝上型计算机、超便携膝上型计算机、具有多个相机的平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(mid)、消息传递设备、数据通信设备,等等。在各种实现方式中,系统1300包括耦合到显示器1320的平台1302。平台1302可从内容设备接收内容,其中内容设备例如是(一个或多个)内容服务设备1330或(一个或多个)内容递送设备1340或其他类似的内容源。包括一个或多个导航特征的导航控制器1350可用于与例如平台1302和/或显示器1320交互。在下文更详细地描述这些组件的每一者。在各种实现方式中,平台1302可包括芯片集1305、处理器1310、存储器1312、存储装置1314、图形子系统1315、应用1316和/或无线电装置1318的任何组合。芯片集1305可提供处理器1310、存储器1312、存储装置1314、图形子系统1315、应用1316和/或无线电装置1318之间的相互通信。例如,芯片集1305可包括能够提供与存储装置1314的相互通信的存储适配器(未图示)。处理器1310可实现为复杂指令集计算机(cisc)或精简指令集计算机(risc)处理器、x86指令集兼容处理器、多核或者任何其他微处理器或中央处理单元(cpu)。在各种实现方式中,处理器1310可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器,等等。存储器1312可实现为易失性存储器设备,例如但不限于,随机访问存储器(ram)、动态随机访问存储器(dram)或静态ram(sram)。存储装置1314可实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存、电池后备sdram(同步dram)和/或网络可访问存储设备。在各种实现方式中,例如当包括多个硬盘驱动器时,存储装置1314可包括技术来为有价值的数字媒体增加存储性能增强保护。图形子系统1315可执行诸如静态或视频之类的图像的处理以便显示。图形子系统1315例如可以是图形处理单元(gpu)或视觉处理单元(vpu)。模拟或数字接口可用于通信地耦合图形子系统1315和显示器1320。例如,该接口可以是高清晰度多媒体接口、显示端口、无线hdmi和/或无线hd符合技术中的任何一者。图形子系统1315可被集成到处理器1310或芯片集1305中。在一些实现方式中,图形子系统1315可以是通信地耦合到芯片集1305的独立卡。本文描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能可被集成在芯片集内。可替换地,可使用分立的图形和/或视频处理器。作为另外一种实现方式,图形和/或视频功能可由包括多核处理器在内的通用处理器提供。在另外的实现方式中,这些功能可实现在消费电子设备中。无线电装置1318可包括能够利用各种适当的无线通信技术来发送和接收信号的一个或多个无线电装置。这种技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wlan)、无线个人区域网(wpan)、无线城域网(wman)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电装置1318可根据任何版本的一个或多个适用的标准操作。在各种实现方式中,显示器1320可包括任何电视型监视器或显示器。显示器1320例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器1320可以是数字的和/或模拟的。在各种实现方式中,显示器1320可以是全息显示器。另外,显示器1320可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(mar)应用的视觉覆盖。在一个或多个软件应用1316的控制下,平台1302可在显示器1320上显示用户界面1322。在各种实现方式中,(一个或多个)内容服务设备1330可由任何国家的、国际的和/或独立的服务所容宿并从而例如是平台1302经由互联网可访问的。(一个或多个)内容服务设备930可耦合到平台1302和/或显示器1320。平台1302和/或(一个或多个)内容服务设备1330可耦合到网络1360以向和从网络1360传输(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备1340也可耦合到平台1302和/或显示器1320。在各种实现方式中,(一个或多个)内容服务设备1330可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的具备互联网能力的设备或家电、以及能够经由网络1360或直接地在内容提供者与平台1302和/或显示器1320之间单向或双向地传输内容的任何其他类似设备。将会明白,可经由网络1360单向地和/或双向地向和从系统1300中的组件的任何一者和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息,等等。(一个或多个)内容服务设备1330可接收内容,例如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的示例可包括任何有线电视或卫星电视或者无线电或互联网内容提供者。提供的示例并不意图以任何方式限制根据本公开的实现方式。在各种实现方式中,平台1302可从具有一个或多个导航特征的导航控制器1350接收控制信号。控制器1350的导航特征例如可用于与用户界面1322交互。在实现方式中,导航控制器1350可以是指点设备,该指点设备可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体而言是人机接口设备)。诸如图形用户界面(gui)、电视机和监视器之类的许多系统允许用户利用物理手势控制计算机或电视机和向其提供数据。控制器1350的导航特征的移动可被在显示器上显示的指针、光标、聚焦环或其他视觉指示物的移动复现在显示器(例如,显示器1320)上。例如,在软件应用1316的控制下,位于导航控制器1350上的导航特征例如可被映射到在用户界面1322上显示的虚拟导航特征。在实现方式中,控制器1350可不是单独的组件,而是可被集成到平台1302和/或显示器1320中。然而,本公开并不限于本文示出或描述的元素或者情境。在各种实现方式中,例如,当被启用时,驱动器(未示出)可包括使得用户能够在初始启动之后通过触摸按钮像电视机那样即刻开启和关闭平台1302的技术。程序逻辑可允许平台1302即使在平台被“关闭”时也可将内容流送到媒体适配器或(一个或多个)其他内容服务设备1330或(一个或多个)内容递送设备1340。此外,芯片集1305可包括对例如8.1环绕立体声音频和/或高清晰度7.1环绕立体声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在实现方式中,图形驱动器可包括高速外围组件互连(pci)图形卡。在各种实现方式中,系统1300中示出的组件中的任何一个或多个可被集成。例如,平台1302和(一个或多个)内容服务设备1330可被集成,或者平台1302和(一个或多个)内容递送设备1340可被集成,或者平台1302、(一个或多个)内容服务设备1330、和(一个或多个)内容递送设备1340可被集成。在实现方式中,平台902和显示器1320可以是集成的单元。例如,显示器1320和(一个或多个)内容服务设备1330可被集成,或者显示器1320和(一个或多个)内容递送设备1340可被集成。这些示例并不意图限制本公开。在各种实现方式中,系统1300可实现为无线系统、有线系统或者两者的组合。当实现为无线系统时,系统1300可包括适合于通过无线共享介质通信的组件和接口,例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的示例可包括无线频谱的一些部分,例如rf频谱等等。当实现为有线系统时,系统1300可包括适合于通过有线通信介质通信的组件和接口,例如输入/输出(i/o)适配器、将i/o适配器与相应的有线通信介质连接的物理连接器、网络接口卡(nic)、盘控制器、视频控制器、音频控制器,等等。有线通信介质的示例可包括导线、线缆、金属引线、印刷电路板(pcb)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤,等等。平台1302可建立一个或多个逻辑或物理信道来传输信息。该信息可包括媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容的示例例如可包括来自语音交谈、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音交谈的数据可例如是话音信息、静默时段、背景噪声、舒适噪声、音调,等等。控制信息可以指表示打算用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于将媒体信息路由过系统,或者指示节点以预定的方式处理媒体信息。然而,实现方式并不限于图13中示出或描述的元素或情境。参考图14,小外形参数设备1400各种物理样式或外形参数的一个示例,可以在其中体现系统1200或1300。通过这种方法,设备1400可以被实现为具有无线能力的移动计算设备。移动计算设备例如可以指具有处理系统和移动电源或供给电源(例如一个或多个电池)的任何设备。如上文所述,移动计算设备的示例可以包括数字静态相机、数字视频相机、具有相机或视频功能的移动设备(例如成像电话)、网络摄像头,个人计算机(pc)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(mid)、消息传递设备、数据通信设备,等等。移动计算设备的示例还可包括被布置为供人穿戴的计算机,例如手腕计算机、手指计算机、指环计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋子计算机、衣服计算机、和其他可穿戴计算机。在各种实施例中,例如,移动计算设备可实现为除了语音通信和/或数据通信以外还能够执行计算机应用的智能电话。虽然作为示例一些实施例可利用被实现为智能电话的移动计算设备来描述,但可明白也可利用其他无线移动计算设备来实现其他实施例。实现方式不限于此情境中。如图14中所示,设备1400可包括具有正面1401和背面1402的外壳。设备1400包括显示器1404、输入/输出(i/o)设备1406、和集成天线1408。设备1400还可包括导航特征1412。i/o设备1406可包括用于将信息输入到移动计算设备中的任何适当的i/o设备。i/o设备1406的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音辨识设备和软件,等等。信息也可通过麦克风1414被输入到设备1400中,或者可被语音辨识设备数字化。如图所示,设备1400可包括集成到设备1400的背面1402(或别处)的相机1405(例如,包括至少一个镜头、光圈和成像传感器)和闪光灯1410。实现方式不限于此情境中。本文描述的各种形式的设备和过程可利用硬件元素、软件元素或者两者的组合来实现。硬件元素的示例可包括:处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集,等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定一实施例是否利用硬件元素和/或软件元素实现可根据任何数目的因素而变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。至少一个实施例的一个或多个方面可由存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令实现,该指令当被机器读取时使得该机器制造逻辑来执行本文描述的技术。这种被称为“ip核”的表示可被存储在有形机器可读介质上并且被提供给各种客户或制造设施以加载到实际制作该逻辑或处理器的制造机器中。虽然已参考各种实现方式描述了本文阐述的某些特征,但此描述并不打算被从限制意义上来解释。因此,对本公开所属领域的技术人员来说显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为落入本公开的精神和范围内。以下示例涉及另外的实现方式。按照一个示例实现方式,一种为图像处理进行点配准的计算机实现的方法包括:从一个或多个相机获得同一场景的多个图像的图像数据,所述多个图像包括第一图像和第二图像,所述第一图像和所述第二图像各自分别与第一点云和第二点云相关联,所述第一点云和所述第二点云二者分别形成该场景;生成三维的第一重叠区域和第二重叠区域,所述第一重叠区域和所述第二重叠区域各自分别包围来自相应的所述第一点云和所述第二点云的点,并在相应的所述第一点云和所述第二点云中具有位置和尺寸;迭代地修改所述第一重叠区域和所述第二重叠区域的位置或尺寸或这两者,以生成每次迭代的、到目前为止最佳的第一重叠区域和第二重叠区域,直至满足收敛标准为止;并且至少部分地基于最佳的重叠区域来建立变换,并且所述变换包括旋转部分、平移部分或这两者,以在所述第一点云和所述第二点云之间转换点位置。按照另一实现方式,该方法可以包括:根据最佳的重叠区域的位置或尺寸或这两者在一次迭代与另一迭代之间的差异是否满足收敛标准,来确定收敛存在;形成一组候选主轴对,包括:确定通过使用所述第一点云形成的至少一个主轴,所述至少一个主轴将与通过使用所述第二点云形成的主轴配对;生成一组重叠区域样本,该组重叠区域样本相对于初始第一重叠区域和初始第二重叠区域在位置或尺寸或这两者上发生变化,所述初始第一重叠区域和初始第二重叠区域相对于个体迭代而言是初始的;迭代地将该组候选主轴对中最佳的主轴对与个体重叠区域样本进行匹配;并且在每次迭代中,根据(1)所述第一点云和所述第二点云中的一者的重叠区域样本与(2)所述第一点云和所述第二点云中的另一者的重叠区域样本之间的点分布差异,来在所有重叠区域样本当中选择最佳的重叠区域样本和所匹配的最佳主轴对。该方法还包括:将所述第一点云的主轴与所述第二点云各自的主轴进行配对;使用曼哈顿世界假设来检测用于形成主轴的平面;根据分别是检测到的垂直平面的法线的两条法线形成主轴,并使用所述两条法线来计算第三轴,来形成三个针对每个主轴的轴;对于被考虑进行配对的所述主轴,通过比较沿着每个轴的颜色或亮度图像数据直方图,来执行所述配对,其中,每次迭代具有第一级和第二级,在所述第一级期间,所述方法包括:确定多个第一级重叠区域样本作为所述第一重叠区域的变化,并且确定多个第二重叠区域变化,所述第二重叠区域变化中的每一者均保持有所述第二重叠区域的中心点,以将所述第二重叠区域变化与个体第一级重叠区域样本进行比较,来确定最佳的第一重叠区域,并且在所述第二级期间。所述方法还包括:确定多个第二级重叠区域样本作为所述第二重叠区域的变化,并将所述第二级重叠区域样本与所述最佳的第一重叠区域进行比较,来确定最佳的第二重叠区域,其中,所述第一级重叠区域样本的变化是相对于所述第一重叠区域在中心点和边缘尺寸两者上的变化,并且所述第二级重叠区域样本的变化是相对于所述第二重叠区域在中心点上的变化,但所使用的边缘尺寸与来自所述第一级的所述第一最佳重叠区域相同;在每次迭代中,确定与所述第一重叠区域相对应的单一最佳重叠区域和与所述第二重叠区域相对应的单一最佳重叠区域;并通过下述方式来在下一次迭代中将这两个单一最佳重叠区域用作初始第一重叠区域和初始第二重叠区域:在所述下一次迭代中,在所述第一点云和所述第二点云中使用所述最佳重叠区域的位置和尺寸,而无需在各次迭代之间保持其他加权数据;在给定所述第一点云和所述第二点云的观测值的情况下,估计所述变换的旋转部分和平移部分的概率以及所述第一点云和所述第二点云的最佳第一重叠区域和最佳第二重叠区域,其中,所述估计包括:确定条件概率和后验概率;并且迭代地将该组候选主轴对中的最佳主轴对与个体重叠区域样本进行匹配将被执行来表示所述条件概率,并且在每次迭代中选择最佳的重叠区域样本和所匹配的最佳主轴对将被执行来表示所述后验概率。按照另一实现方式,一种为图像处理进行点云配准的计算机实现的系统,包括:显示器;通信地耦合到显示器的至少一个处理器;通信耦合到至少一个处理器的至少一个存储器;3d单元,所述3d单元由所述处理器通过以下步骤进行操作:从一个或多个相机获得同一场景的多个图像的图像数据,所述多个图像包括第一图像和第二图像,所述第一图像和所述第二图像各自分别与第一点云和第二点云相关联,所述第一点云和所述第二点云二者分别形成该场景;生成三维的第一重叠区域和第二重叠区域,所述第一重叠区域和所述第二重叠区域各自分别包围来自相应的所述第一点云和所述第二点云的点,并在相应的所述第一点云和所述第二点云中具有位置和尺寸;迭代地修改所述第一重叠区域和所述第二重叠区域的位置或尺寸或这两者,以生成每次迭代的、到目前为止最佳的第一重叠区域和第二重叠区域,直至满足收敛标准为止;并且至少部分地基于最佳的重叠区域来建立变换,并且所述变换包括旋转部分、平移部分或这两者,以在所述第一点云和所述第二点云之间转换点位置。作为另一种替代方案,可以提供系统的3d单元以操作来使得:所述第一重叠区域和所述第二重叠区域是个体迭代的初始重叠区域,并且其中,迭代地修改所述第一重叠区域和所述第二重叠区域的位置或尺寸或这两者包括:生成一组重叠区域样本,该组重叠区域样本是所述第一重叠区域或所述第二重叠区域的变化,其中,通过使用对初始第一重叠区域或初始第二重叠区域在位置、尺寸或这两者上的变化进行的基于高斯分布的随机采样,使所述重叠区域样本与所述初始重叠区域不同;生成一组候选主轴对,每对具有来自所述第一点云的主轴和来自所述第二点云的主轴;并且确定所述候选主轴中的一者与个体重叠区域样本之间的最佳匹配,其中,确定最佳匹配包括:区分与所述第一重叠区域不同的个体重叠区域样本,所述个体重叠区域样本不同于多个变化重叠区域之一,所述多个变化重叠区域保持所述第二重叠区域的初始中心点位置,但变化为具有与所比较的重叠区域样本的边缘长度匹配的边缘长度,确定最佳匹配包括:区分与所述第二重叠区域不同的个体重叠区域样本,所述个体重叠区域样本不同于所述第一重叠区域。所述方法还包括:调整所述重叠区域样本以与所述候选主轴对中的一个候选主轴对的主轴对准,并且在执行区分之前,通过将要与所述重叠区域样本进行比较的重叠区域与所述一个候选主轴对中的另一主轴对准,来调整所述重叠区域,其中,所述区分包括:将所述重叠区域样本和要比较的重叠区域划分至区间中,并且对每个区间中的所述第一点云和所述第二点云的点数进行计数;所述方法包括:通过以下步骤来提供所述重叠区域样本和要比较的重叠区域的二进制直方图:如果区间中的一者中的点的数目大于阈值,则提供1或0;如果区间中的一者中的点的数目小于所述阈值,则提供1或0中的另一者,其中,实现所述区分的差异是所述重叠区域样本和要比较的重叠区域的直方图之间的汉明差异,并且在所有候选主轴对中,产生与重叠区域样本相关联的最小汉明距离的候选主轴对被视为与该重叠区域样本匹配。作为另一实现方式,一种计算机可读介质,其上存储有指令,所述指令在被执行时使得计算设备通过以下步骤进行操作:从一个或多个相机获得同一场景的多个图像的图像数据,所述多个图像包括第一图像和第二图像,所述第一图像和所述第二图像各自分别与第一点云和第二点云相关联,所述第一点云和所述第二点云二者分别形成该场景;生成三维的第一重叠区域和第二重叠区域,所述第一重叠区域和所述第二重叠区域各自分别包围来自相应的所述第一点云和所述第二点云的点,并在相应的所述第一点云和所述第二点云中具有位置和尺寸;迭代地修改所述第一重叠区域和所述第二重叠区域的位置或尺寸或这两者,以生成每次迭代的、到目前为止最佳的第一重叠区域和第二重叠区域,直至满足收敛标准为止;并且至少部分地基于最佳的重叠区域来建立变换,并且所述变换包括旋转部分、平移部分或这两者,以在所述第一点云和所述第二点云之间转换点位置。作为另一选项,这些指令执行以使得计算设备通过以下步骤进行操作:生成一组候选主轴对,每对具有来自所述第一点云的主轴和来自所述第二点云的主轴;确定所述候选主轴中的一者与各个重叠区域样本之间的最佳匹配,所述重叠区域样本分别是所述第一重叠区域或所述第二重叠区域在位置或边缘长度或这两者上的变化;并且通过确定在以下项之间具有最小差异的重叠区域样本,来确定迭代的最佳匹配区域:(1)重叠区域样本,其被调整为与所述主轴对中匹配所述重叠区域的主轴对准并与所述第一点云或所述第二点云相关联,以及(2)所述第一重叠区域或所述第二重叠区域中的另一者,被调整为与匹配的主轴对中的另一主轴对准,其中所述最小差异是指与经调整的重叠区域样本和经调整的第一或第二重叠区域相关联的点分布的差异,其中所述最小差异是指与经调整的重叠区域样本和经调整的第一或第二重叠区域相关联的点分布的差异,其中汉明距离已被建立并被用于将主轴与重叠区域样本匹配。在另一示例中,至少一种机器可读介质可以包括多个指令,这些指令响应于在计算设备上被执行而使得所述计算设备执行根据以上示例中任一项所述的方法。在又一示例中,一种设备可以包括用于执行根据以上示例中任一项所述的方法的装置。以上示例可以包括特征的特定组合。然而,以上示例在这方面不受限制,并且在各种实现方式中,以上示例可以包括仅采用这种特征的子集、采用这种特征的不同顺序、采用这种特征的不同组合、和/或采用除了明确列出的特征之外的其他特征。例如,关于本文的任何示例方法描述的所有特征可以相对于任何示例装置、示例系统和/或示例物品来实现,反之亦然。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1