增强现实显示的方法、姿态信息的确定方法及装置与流程

文档序号:16846629发布日期:2019-02-12 22:22阅读:169来源:国知局
增强现实显示的方法、姿态信息的确定方法及装置与流程

本发明涉及即时定位与地图构建领域,尤其涉及一种图像采集设备信息确定的方法以及相关装置。



背景技术:

即时定位与地图构建领域(simultaneouslocalizationandmapping,slam)指的是,当某种设备(如机器人或虚拟现实设备等)来到一个陌生环境时,它需要精准地建立时间和空间的对应关系。

目前,在slam系统中进行相机跟踪时,一般是将已经计算出的三维(threedimensional,3d)点投影到新的一帧二维(twodimensional,2d)图像中,并对相机的相机姿态信息进行估计,也就是使用的是3d对应2d(3d-2dcorrespondences)的方式进行跟踪。

请参阅图1,图1为现有技术中基于3d-2dcorrespondences获取3d点的示意图,如图所示,在估计t帧图像的相机姿态信息时,需要通过t-1帧图像和t-2帧图像对关键点进行三角化,并得到关键点的3d位置(图1中的空心星),然后利用关键点的3d位置估计t帧图像的相机姿态信息。若从t-2帧图像快速移动到t帧图像,则空心星只占据t帧图像的一小部分,利用这种这一小部分的关键点去估计整个t帧图像的相机姿态信息会造成较大的误差,而且很容易会由于跟踪的关键点数量太少而导致跟踪丢失。



技术实现要素:

本发明实施例提供了一种增强现实显示的方法、姿态信息的确定方法及装置,能够在估计第二图像的相机姿态信息时得到更多的关键点,一方面减小相机姿态信息的误差,另一方面,也可以避免由于跟踪的关键点数量太少而导致跟踪丢失的情况。

有鉴于此,本发明第一方面提供了一种增强现实显示的方法,包括:

获取目标对象的第一图像;

从第一图像中提取所述目标对象所对应的第一2d关键点的坐标信息;

获取所述目标对象的第二图像;

根据所述第一2d关键点的坐标信息获取所述第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是所述目标对象中的同一个关键点;

获取所述目标对象所对应的3d关键点的坐标信息,其中,所述3d关键点为经过三角化处理的关键点;

根据所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定所述目标对象在所述第二图像中的位置;

获取附加图像信息;

根据所述第二图像、所述第二图像的相机姿态信息以及所述附加图像信息,生成增强图像。

本发明第二方面提供了一种图像采集设备信息确定的方法,包括:

获取目标对象的第一图像;

从所述第一图像中提取所述目标对象所对应的第一2d关键点的坐标信息;

获取所述目标对象的第二图像;

根据所述第一2d关键点的坐标信息获取所述第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是所述目标对象中的同一个关键点;

获取所述目标对象所对应的3d关键点的坐标信息,其中,所述3d关键点为经过三角化处理的关键点;

根据所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定目标对象在所述第二图像中的位置。

本发明第三方面提供了一种图像采集设备,包括:

获取模块,用于获取目标对象的第一图像;

所述获取模块,还用于根据所述第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是位于不同图像中的同一个关键点,所述第一图像为所述第二图像之前的任意一帧图像;

所述获取模块,还用于获取所述目标对象的第二图像;

所述确定模块,还用于根据所述获取模块获取的所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定目标对象在所述第二图像中的位置。

本发明第四方面提供了一种图像采集设备,包括:存储器、处理器以及总线系统;

其中,所述存储器用于存储程序;

所述处理器用于执行所述存储器中的程序,具体包括如下步骤:

获取目标对象的第一图像;

从所述第一图像中提取所述目标对象所对应的第一2d关键点的坐标信息;

获取所述目标对象的第二图像;

根据所述第一2d关键点的坐标信息获取所述第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是所述目标对象中的同一个关键点;

获取所述目标对象所对应的3d关键点的坐标信息,其中,所述3d关键点为经过三角化处理的关键点;

根据所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定目标对象在所述第二图像中的位置;

所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。

本发明的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,提供了一种图像采集设备信息确定的方法,首先获取第一图像中的第一2d关键点的坐标信息,然后可以根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,其中,第一2d关键点与第二2d关键点是位于不同图像中的同一个关键点,第一图像为第二图像之前的任意一帧图像,再获取3d关键点的坐标信息,最后根据第一2d关键点的坐标信息、第二2d关键点的坐标信息以及3d关键点的坐标信息,确定第二图像的相机姿态信息,相机姿态信息用于确定目标对象在第二图像中的位置。通过上述方式,不但考虑到了3d关键点的坐标信息与第二2d关键点坐标信息对相机姿态信息的影响,同时也考虑到了第一2d关键点的坐标信息,换言之,本方案结合了3d-2dcorrespondences和2d-2dcorrespondences,能够在估计第二图像的相机姿态信息时得到更多的关键点,一方面可以减小相机姿态信息的误差,另一方面,也可以避免由于跟踪的关键点数量太少而导致跟踪丢失的情况。

附图说明

图1为现有技术中基于3d-2dcorrespondences获取3d点的示意图;

图2为本发明实施例中基于3d-2dcorrespondences获取3d点的示意图;

图3为本发明实施例中根据相机姿态信息展示目标对象的界面示意图;

图4为本发明实施例中图像采集设备信息确定的方法一个实施例示意图;

图5为本发明实施例中确定观测角的一个示意图;

图6为本发明实施例中生成跟踪记录的一个示意图;

图7为本发明应用场景中确定相机姿态信息的一个流程示意图;

图8为本发明实施例中图像采集设备一个实施例示意图;

图9为本发明实施例中图像采集设备另一个实施例示意图;

图10为本发明实施例中图像采集设备另一个实施例示意图;

图11为本发明实施例中图像采集设备一个结构示意图。

具体实施方式

本发明实施例提供了一种增强现实显示的方法、姿态信息的确定方法及装置,能够在估计第二图像的相机姿态信息时得到更多的关键点,一方面减小相机姿态信息的误差,另一方面,也可以避免由于跟踪的关键点数量太少而导致跟踪丢失的情况。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本方案主要应用于slam系统,用于设备在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现设备的自主定位和导航。本方案具体可以应用于虚拟现实(virtualreality,vr)产品、增强现实(augmentedreality,ar)产品和机器人视觉导航(visualrobotnavigation,vrn)产品等,此处不对具体的产品进行限定。

vr的本质是让用户通过沉浸式的体验来感受一个完全不同的虚拟世界,而slam是对真实世界的感知和理解,如果vr产品需要slam,那可以达到虚拟世界和真实世界的结合。市面上的vr产品通过六轴陀螺仪来跟踪用户的头部转动而不能跟踪用户的位移,但slam能解决六个自由度的跟踪问题。

ar的本质是虚拟元素在现实中的完美融合,相比于vr,ar产品无论算法、软件的复杂度还是硬件的复杂度或者量产难度都增大了很多。对于ar来说,是必须拥有slam系统的。

本发明提供一种联合3d-2dcorrespondences以及2d-2dcorrespondences的相机跟踪方法,利用更稳定的2d-2dcorrespondences来辅助3d-2dcorrespondences的跟踪,提高slam系统的跟踪稳定性。请参阅图2,图2为本发明实施例中基于3d-2dcorrespondences获取3d点的示意图,在估计t帧图像的相机姿态信息时,需要通过t-1帧图像和t-2帧图像对关键点进行三角化,并得到关键点的3d位置(图2中的空心星),同时需要通过t帧图像和t-1帧图像得到关键点的2d位置(图2中的实心星),然后利用关键点的2d的位置和3d位置估计t帧图像的相机姿态信息。

为便于理解,下面可以以一个具体应用场景对本发明中展示的目标对象进行描述,请参阅图3,图3为本发明实施例中根据相机姿态信息展示目标对象的界面示意图,如图所示,左边的图是移动前的画面,右边的图是移动后的画面,用户可以通过手机屏幕看到虚拟物体(例如图3中的小猪)在现实3d场景中固定在某处(例如桌子上)进行活动(如跳舞),而不会随着用户手机的移动而移动。

本发明可以用于ar系统,下面将介绍本发明所提供的一种ar显示的方法,本发明实施例ar显示的方法一个实施例包括:

首先,图像采集设备获取同一个实物场景中不同拍摄角度下的目标对象,该目标对象可以是一本书、一棵树、一台电视或者一罐可乐等,此处不做限定。我们希望将一个虚拟物体与目标对象进行融合,虚拟物体可以是设计师提前设计出来的一个卡通形象,或者是一个涂鸦等,此处不做限定。

在确定了目标对象之后,图像采集设备从第一图像中提取目标对象所对应的第一2d关键点的坐标信息。接下来,图像采集装置继续获取第二图像,可以理解的是,第二图像和第一图像来源于相同的目标对象。图像采集设备可以根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,其中,第一2d关键点与第二2d关键点是目标对象中的同一个关键点。

图像采集设备需要获取3d关键点,并可以确定3d关键点的坐标信息。3d关键点的坐标信息主要包括六个维度的坐标信息,即三个方向位移以及三个角度。其中,3d关键点就是在之前帧图像已经三角化处理成功的关键点。图像采集设备根据第一2d关键点的坐标信息、第二2d关键点的坐标信息以及3d关键点的坐标信息,确定第二图像的相机姿态信息,其中,相机姿态信息用于确定目标对象在所述第二图像中的位置,相机姿态信息可以表示第二图像的拍摄空间信息。

图像采集设备获取附加图像信息,附加图像信息是指拍摄到的真实场景下的图像,例如游泳池边、花园内或者中学操场等。最后,图像采集设备根据第二图像、第二图像的相机姿态信息以及附加图像信息,合成一个增强图像,例如,附加图像信息为中学操场的图像,第二图像中包含一棵树,根据第二图像的相机姿态信息确定树上有一只动画制作的小鸟,那么这个增强图像中便会显示上述内容。其中,增强图像用于显示ar内容。

下面将介绍多个采用本发明所提供的ar显示方法的应用场景。

一、ar地图;

采用ar显示方法可以展示一个易于行人跟随的导航应用,应用将箭头和路径直接附加到了现实环境中,结果带来的是一个非常直观的导航路径。与此同时,ar显示方法还可以用于识别本地地标建筑,并提供有关它们的有用信息,例如有地方名称以及两个建筑之间相对距离等,此处不做限定。

图像采集设备根据情境敏感式信息软件能够识别场所或物体,并将数字信息与现实世界的场景连接起来,情境敏感式信息涵盖能够根据特定情境轻松获取互联网已有静态数据的应用。智能终端可以运行这一软件,用户可以通过智能终端摄像头的视角看到周围的数字信息。这些数字信息可以是附近感兴趣的地方,比如博物馆、商店、餐馆或者前往下一个公交站的步行路线。该软件通过全球定位系统(globalpositioningsystem,gps)、无线保真(wirelessfidelity,wifi)以及3d建模实现图像识别,可以实现用户定位功能。

二、ar语言翻译;

语言翻译是ar应用中最具发展前景的领域之一。采用本发明所提供的ar显示方法可以应用于智能终端,利用该智能终端能够将文本同步翻译成另一种语言。打开应用后,用户只要将设备对准外国文字即可。图像采集设备就会将此信息翻译成用户母语并显示出来,而且翻译后的文本是同样的字体,印在同一面墙上——就跟原始文本一样。

三、ar测量工具;

尽管很多时候智能终端几乎可以取代个人电脑(personalcomputer,pc)了,但是却取代不了生活中所需的一些工具,如尺子或者三角器等。可是有了ar技术,智能终端也可以称为测量工具。例如,采用本发明所提供的ar显示方式,可以将虚拟的尺子与现实进行整合。智能终端本身已经具备相机、处理器和运动传感器等功能,这些都是虚拟测量工具的硬件条件,加上ar显示技术在现实要测量的物体上显示两个浮动的点,这样就能得出数据了。

虚拟磁性测量工具与现实中的卷尺可以做到一致。用户只需手持智能终端,在屏幕上确定虚拟磁性测量尺的起点,然后平移,在终点确定,即可立即得出数据。除了测量距离,ar显示技术还可以使得测量空间变得非常容易。例如,用户可以手持智能终端根据房间的边缘来移动智能终端,无需去记录边框的尺寸,只管移动智能终端把想测量的空间都圈上,最后系统会给出一个算好的数据,再畸形的空间也能轻松算出面积来。

四、ar家具;

采用本发明所提供的ar显示技术还可以设计出一款应用程序,消费者可以使用智能终端把所选的数字版家具通过点击选择的方式将其“放置”在自己家客厅里,从而更方便地测试家具的尺寸、风格、颜色摆在某个位置是否合适。该应用程序还允许用户调整每一个部件的尺寸和颜色。

我们在购买家具的时候总会在脑海无数次地设想这件家具摆在我们房间的效果如何,通过上述方式,只需手持智能终端,就可以将摄像头对准新家的每个角落,挑选最合适的家具。这也将催生出家具零售业新的销售方式,销售商可以省去大面积的门面成本,消费者也可以节约逛家具的时间和精力。

类似地,在一些试衣的场景中,根据本发明所介绍的ar显示技术,还可以提供一种更加个人化的ar试衣体验。它能够识别顾客的身材和所选衣物,因此免去了再试其它颜色的必要。顾客只需换上某件衣物站到镜子前,根据触摸屏的提示选择其它颜色,镜子中就会投射出顾客身着另一种颜色的影像。

五、ar教学;

当ar用于舞蹈教学时,学员与老师可以打破空间与时间的局限。利用本发明所介绍的ar显示技术,还可以巧妙地将虚拟的“脚步”应用到现实中,学员将跟着虚拟的脚印来学习舞步,应用程序甚至可以根据学员的需求放慢速度,还能跟舞伴一起学习。

类似地,除了舞蹈教学,本发明所提供的ar显示方式还可以应用于武术教学、篮球教学以及游泳教学等,此处仅为一个示意,并不应构成对本发明的限定。

六、ar物流;

接下来我们将以物流产业为例,具体说明一下ar显示技术将发挥怎样的影响。虽然ar在物流业中的采用仍处于相对早期阶段,但ar也能提供巨大的益处,例如ar可以让物流供应商随时随地快速获预期信息。这对于配送及优化配载等任务的精确规划和细致运作来说至关重要,同时也能为提供更高质量的客户服务打下坚实基础。我们可以为ar在物流业中的应用设想了一些用例。这些用例分为以下四类,即仓库运作、运输优化、最后一公里配送以及强化增值服务。

在仓库运作中,仓库运作是ar在物流中最具应用前景的领域。这些运作大约占到物流总成本的20%,而拣货任务占到仓库运作总成本的55%到65%。ar可以由改进拣货流程入手,大幅降低运作成本。ar还有助于培训仓库新员工及临时员工,并为仓库规划提供参考。采用视觉拣货能够优化拣货流程。

在物流中,最切实际的ar解决方案要数能够优化拣货流程的系统。发达国家里,绝大部分仓库仍采用纸质拣货的做法。但任何基于纸质的做法都是低效而且易错的。另外,拣货工作往往由临时工完成,这些人通常需要耗费成本进行培训,以确保他们能够高效拣货,不犯错误。

视觉拣货系统目前处于最后的现场测试阶段,该系统包括头戴式显示器(headmountdisplay,hmd)之类的移动ar装置,相机,可穿戴pc以及续航至少为一班次时长的电池模块。其视觉拣货软件功能包括实时物体识别,条形码读取,室内导航以及与仓库管理系统(warehousemanagementsystem,wms)的无缝信息整合。视觉拣货带来的最大好处是,仓库工在人工拣货时无需腾出手来即可获得直观的数字信息支持。借助于这样的一套系统,每位仓库工都能在视野中看到数字拣货清单,还能受益于室内导航功能,看到最佳路径,通过有效路径规划减少移动耗时。该系统的图像识别软件能自动读取条形码以确认仓库工是否到达正确位置,并指引他在货架上快速定位待拣物品。接着,仓库工可以扫描该物品,将此流程同步登记到仓库管理系统中,实现实时的库存更新。另外,诸如此类的系统能够降低新员工的培训耗时,还能为文化水平有限的仓库工解决可能遇到的语言障碍问题。

这些ar系统的现场测试已经证明,它们为仓库运作的效率提升做出了巨大贡献。举例而言,持续的拣货验证功能可以减少40%的错误。可以理解的是,这里所采用的ar系统即使用本发明所提供的ar显示方式。

在仓库规划的过程中,ar很可能还会对仓库规划流程产生积极作用。如今的仓库不再只是存放和集散的节点,它们逐渐地肩负起越来越多的增值服务,从产品的组装到贴标签、重新打包,乃至产品维修。这意味着仓库必须重新设计以适应上述这些新服务的需求。可以采用ar技术从全局角度直观地看到重新规划的效果,实现在现有的真实仓库环境中放置将来准备改动的可交互数字模型。管理者可以检查所规划的改动尺寸是否合适,并为新的工作流程建立模型。受益于此,未来的仓库实地可以用作仓库运作规划的试验场所。

在运输优化的过程中,物流供应商对高新信息技术的运用极大地提高了货物运输的时效性、可靠性和安全性。在完整性检查、国际贸易、司机导航和货物配载等领域,本发明所提供的ar显示技术有着进一步优化货物运输的潜力,以实现更加高效的分拣。佩戴ar设备的拣货员快速扫视一下配载,就能知道是否完整。目前,这项工作需要人工统计,或是用手持设备花大量时间逐个扫描条形码。可穿戴ar设备利用扫描仪和3d景深传感器的组合,就能确定货盘或包裹的数量(通过扫描每个包裹上的特殊标识),或者确定包裹的体积(通过测量设备)。测量值与预定义值相比较,结果呈现在拣货员眼前。此类ar系统还可以扫描物品,检测是否有损坏或错误。

可以理解的是,上述六个具体的场景并非对本发明的限定,而是为了便于理解所提供的可执行环境,在实际应用中,本发明所提供的ar显示方法还可以应用于游戏和医疗培训等,比如让用户更好地融入游戏环境,或者可以让实习医生无需进入手术室也能近距离观摩手术,以便学习更多实践知识。此外,ar显示方法还可以用于房产中介,无需辛苦地带着客户大热天在外面看房,只需舒服地办公室吹着空调,看着ar显示方式所呈现的画面。

基于ar的界面不局限于计算机设备。还能用来控制汽车、娱乐设备以及加热系统这样的家居配套设施。

下面将对本发明中图像采集设备信息确定的方法进行介绍,请参阅图4,本发明实施例中图像采集设备信息确定的方法一个实施例包括:

101、获取目标对象的第一图像;

本实施例中,图像采集设备获取同一个实物场景中不同拍摄角度下的目标对象,该目标对象可以是一本书、一棵树、一台电视或者一罐可乐等,此处不做限定。我们希望将一个虚拟物体与目标对象进行融合,虚拟物体可以是设计师提前设计出来的一个卡通形象,或者是一个涂鸦等,此处不做限定。

102、从第一图像中提取目标对象所对应的第一2d关键点的坐标信息;

本实施例中,图像采集设备首先获取第一图像中的第一2d关键点以及对应的坐标信息。我们可以采用基于划分小区的方式检测关键点,通常情况下可以将一帧图像划分为规则的80×60个小区,然后将关键点与其所在的小区对应起来。

利用fast特征点检测(featuresfromacceleratedsegmenttest)的方式或者harris角点检测(harriscornerdetection)的方式,可以在第一图像中获取多个第一2d关键点。

需要说明的是,在实际应用中,关键点可以使用线条(lines)或者边缘线(edges)等替代,本方案以点(points)为例进行介绍,然而这并不构成对本发明的限定。

103、获取目标对象的第二图像;

本实施例中,图像采集设备进而获取第二图像,可以理解的是,第二图像和第一图像来源于同一个目标对象。也就是说,第一图像和第二图像是针对目标对象拍摄两个不同的画面。

104、根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,其中,第一2d关键点与第二2d关键点是位于不同图像中的同一个关键点,第一图像为第二图像之前的任意一帧图像;

本实施例中,当加载一帧新的图像时,可以将该图像认为是第二图像,换言之,第二图像是在第一图像之后出现的较新的一帧图像。我们从第一图像中获取第一2d关键点之后,采用关键点跟踪算法(例如lucas-kanade金字塔跟踪算法)计算出这些第一2d关键点在当前第二图像中的2d位置,即得到第二2d关键点的坐标信息。

可以理解的是,第一2d关键点与第二2d关键点在物理上属于同一个关键点,但是由于位置发生了变化,因此,对应的坐标信息也发生了变化,也就采用了“第一”和“第二”来表达同一个关键点。

类似的,后续再加载新的图像时,仍需采用关键点跟踪算法计算出上一帧图像中的2d关键点在新加载图像中的2d位置,如此下去,第k帧图像的处理方式也是类似,故此处不做赘述。

105、获取目标对象所对应的3d关键点的坐标信息,其中,3d关键点为经过三角化处理的关键点;

本实施例中,图像采集设备获取3d关键点,并可以确定3d关键点的坐标信息。3d关键点的坐标信息主要包括六个维度的坐标信息,即三个方向位移以及三个角度。

其中,3d关键点就是在之前帧图像已经三角化处理成功的关键点。

106、根据第一2d关键点的坐标信息、第二2d关键点的坐标信息以及3d关键点的坐标信息,确定第二图像的相机姿态信息,其中,相机姿态信息用于确定目标对象在第二图像中的位置。

本实施例中,图像采集设备根据第一2d关键点的坐标信息和第二2d关键点的坐标信息可以得到2d-2dcorrespondences,并且根据3d关键点的坐标信息得到3d-2dcorrespondences,同时采用2d-2dcorrespondences和3d-2dcorrespondences确定第二图像的相机姿态信息,其中,相机姿态信息用于确定目标对象在第二图像中的位置,相机姿态信息可以表示第二图像的拍摄空间信息。目标对象通常为拍摄到的实物对象。此外,相机姿态信息也是为了使后续加入的图像获取对应的3d关键点,以及3d关键点的坐标信息。

本发明实施例中,提供了一种图像采集设备信息确定的方法,首先获取第一图像中的第一2d关键点的坐标信息,然后可以根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,其中,第一2d关键点与第二2d关键点是位于不同图像中的同一个关键点,第一图像为第二图像之前的任意一帧图像,再获取3d关键点的坐标信息,最后根据第一2d关键点的坐标信息、第二2d关键点的坐标信息以及3d关键点的坐标信息,确定第二图像的相机姿态信息,相机姿态信息用于确定目标对象在第二图像中的位置。通过上述方式,不但考虑到了3d关键点的坐标信息与第二2d关键点坐标信息对相机姿态信息的影响,同时也考虑到了第一2d关键点的坐标信息,换言之,本方案结合了3d-2dcorrespondences和2d-2dcorrespondences,能够在估计第二图像的相机姿态信息时得到更多的关键点,一方面可以减小相机姿态信息的误差,另一方面,也可以避免由于跟踪的关键点数量太少而导致跟踪丢失的情况。

可选地,在上述图4对应的实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第一个可选实施例中,根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息之前,还可以包括:

判断在第二图像中的第二2d关键点的个数是否达到阈值门限;

若第二2d关键点的个数达到阈值门限,则触发根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息的步骤。

本实施例中,所采用的2d-2d关键点跟踪算法是比较成熟且稳定的算法,如果发现跟踪成功的关键点数量不够,那么系统会认为跟踪失败。

具体地,首先图像采集设备预先设置一个阈值门限,例如50,然后判断从第一图像到第二图像的关键点数量是否达到阈值门限,在实际应用中,可以有两种判断方式,第一种方式为,假设第一图像中的第一2d关键点数量为100,第二图像中的第二2d关键点数量为70,则两者之差为30,即认为小于预置门限。第二方式为,直接获取第二图像中的第二关键点个数,第二种方式较第一种方式而言,在实现上更简单,无需统计两个图像中的关键点个数,从而提高系统效率。

如果第二2d关键点的个数达到了阈值门限,那么可以进一步获取这些第二2d关键点的坐标信息。

可以理解的是,后续再加载新的图像时,仍需检测成功跟踪的关键点个数是否足够(即跟预先设定的阈值门限相比),如果关键点个数足够多,则继续获取关键点的坐标信息。

其次,本发明实施例中,图像采集设备在获取第二2d关键点的坐标信息之前,需要先获取第二2d关键点,并且判断这些第二2d关键点的个数是否达到了阈值门限,在达到阈值门限的情况下继续获取第二2d关键点的坐标信息。通过上述方式,可以保证所获取的第二2d关键点的个数达到阈值门限,防止由于跟踪的第二2d关键点个数太少,而导致跟踪丢失,以此提升方案的实用性和可行性。

可选地,在上述图4或图4对应的第一个实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第二个可选实施例中,根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,可以包括:

从第一图像中确定第一2d关键点;

从第一图像中确定与第一2d关键点对应的第二2d关键点;

根据第一2d关键点的坐标信息与位移信息,确定第二2d关键点的坐标信息,其中,位移信息为从第一2d关键点移动到第二2d关键点的距离。

本实施例中,将介绍如何获取在第二图像中的第二2d关键点的坐标信息。具体地,一种获取第二2d关键点坐标信息的方式可以是,先从第一图像中得到第一2d关键点,当然,这里的第一2d关键点通常是多个,为了便于理解,可以采用其中一个第一2d关键点为例进行介绍。

本实施例可以采用lucas-kanade金字塔跟踪算法确定第二2d关键点的坐标位置。假设在第一图像中存在一个金字塔,而金字塔尖端为第一2d关键点,且该第一2d关键点的坐标信息为(a,b),接下来,在1秒钟后相机发生了位移,于是得到第二图像,在第二图像中金字塔尖端依旧存在,但是也发生了位移,位移量为向上移动α,且向左移动了β,于是利用位移信息得到第二2d关键点的坐标信息为(a+α,b-β)。

可以理解的是,上述坐标信息仅为一个示意,在实际应用中,坐标信息还可以采用其他方式表示,例如角度等,此外,位移信息也具有相应的表示方式,此处不做限定。

再次,本发明实施例中,在获取第二图像的第二2d关键点坐标信息的过程中,首先需要从第一图像中确定第一2d关键点,然后在第二图像中找到这个2d关键点,即找到第二2d关键点,再利用两个关键点之间的位移信息推导出第二2d关键点所在的坐标信息。通过上述方式,可以准确地定位第二2d关键点,为方案的实现提供了一种可行的方法,从而提升方案的实用性和可操作性。

可选地,在上述图4对应的第一个实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第三个可选实施例中,判断在第二图像中的第二2d关键点的个数是否达到阈值门限之后,还可以包括:

若第二2d关键点的个数未达到阈值门限,则从第一图像中获取n个关键点,以使第二2d关键点与n个关键点的个数之和达到阈值门限,其中,n为正整数,n个关键点是从第一图像所对应的目标小区中获取到的,第一图像包含多个均分的小区,目标小区中的关键点个数小于预设关键点门限;

根据第一2d关键点的坐标信息以及n个关键点的坐标信息,获取第二图像中的n个关键点的坐标信息和第二2d关键点的坐标信息。

本实施例中,图像采集设备在判断在第二图像中的第二2d关键点的个数是否达到阈值门限之后,如果第二2d关键点的个数未达到阈值门限,则需要再从第一图像中获取n个关键点,直到第二2d关键点与n个关键点的个数之和达到阈值门限,n个关键点是从第一图像所对应的目标小区中获取到的,目标小区中的关键点个数小于预设关键点门限,根据第一2d关键点的坐标信息以及n个关键点的坐标信息,获取第二图像中的第二2d关键点的坐标信息。

可以理解的是,后续再加载新的图像时,仍需检测成功跟踪的关键点个数是否足够(即跟预先设定的阈值门限相比),如果关键点数量不够多,则需要在相应关键点比较少的小区中多检测一些关键点(需要注意这里是在当前帧图像的上一帧图像中检测关键点),然后再从上一帧中的关键点跟踪到当前帧图像。如此下去,第k帧图像的处理方式也是类似。

再次,本发明实施例中,如果第二2d关键点的个数没有达到阈值门限,则需要从第一图像中获取n个关键点,使得第二2d关键点与n个关键点的个数之和达到所述阈值门限,然后根据第一2d关键点的坐标信息以及n个关键点的坐标信息,获取第二图像中n个关键点的坐标信息和第二2d关键点的坐标信息。通过上述方式,可以保证所获取的第二2d关键点的个数达到阈值门限,防止由于跟踪的第二2d关键点个数太少,而导致跟踪丢失,以此提升方案的灵活性和可行性。

可选地,在上述图4对应的第三个实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第四个可选实施例中,根据第一2d关键点的坐标信息以及n个关键点的坐标信息,获取第二图像中的所述第二2d关键点的坐标信息,包括:

从第一图像中确定第一2d关键点以及n个关键点;

从第一图像中确定与第一2d关键点和n个关键点对应的第二2d关键点;

根据第一2d关键点的坐标信息、n个关键点的坐标信息以及位移信息,确定第二图像中的n个关键点的坐标信息和第二2d关键点的坐标信息,其中,位移信息包括从第一2d关键点移动到第二2d关键点的距离,以及从n个关键点移动到第二2d关键点的距离。

本实施例中,将介绍如何获取在第二图像中的第二2d关键点的坐标信息和n个关键点的坐标信息。具体地,一种获取第二2d关键点坐标信息的方式可以是,先从第一图像中得到第一2d关键点,当然,这里的第一2d关键点通常是多个。与此同时,从第一图像中获取n个关键点,n为正整数。

假设在第一图像中找到一个2d关键点,该2d关键点属于第一2d关键点和n个关键点中的任意一个,类似地,采用如上述图4对应的第二个可选实施例可以根据位移信息和关键点信息确定第二2d关键点的坐标信息,此处不做赘述。

进一步地,本发明实施例中,首先需要从第一图像中确定第一2d关键点以及n个关键点,然后从第一图像中确定与第一2d关键点和n个关键点对应的第二2d关键点,再根据第一2d关键点的坐标信息、n个关键点的坐标信息以及位移信息,共同确定第二图像中的n个关键点的坐标信息和第二2d关键点的坐标信息。通过上述方式,可以准确地定位n个2d关键点和第二2d关键点,为方案的实现提供了另一种可行的方法,从而提升方案的灵活性和可操作性。

可选地,在上述图4对应的实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第五个可选实施例中,确定第二图像的相机姿态信息之后,还可以包括:

对第一2d关键点的坐标信息、第二2d关键点的坐标信息、第一图像的相机姿态信息和第二图像的相机姿态信息进行三角化处理,并得到待选择3d关键点以及待选择3d关键点的坐标信息;

根据待选择3d关键点确定观测角,其中,观测角为第一图像中心点到待选择3d关键点的连线,与第二图像中心点到待选择3d关键点的连线之间的夹角;

若观测角大于预设角度,则将待选择3d关键点的坐标信息确定为目标3d关键点的坐标信息。

本实施例中,将介绍如何确定后续图像的目标3d关键点及目标3d关键点对应的坐标信息。

具体地,首先获取第一2d关键点的坐标信息和第二2d关键点的坐标信息,然后获取预先得到的第一图像对应的相机姿态信息,以及获取在步骤104中得到的第二图像对应的相机姿态信息,结合这四个信息并进行三角化处理,并得到目标3d关键点。

这里,我们需要对三角化中的观测角进行评估。为了便于理解,请参阅图5,图5为本发明实施例中确定观测角的一个示意图,如图所示,观测角是指从两个图像中心点的位置观测目标3d关键点的夹角,如果这些目标3d关键点对应的观测角大多数都太小,可以说明此次初始化误差较大,这时需要将系统标记为初始化失败,后面加载后续帧时再次尝试去初始化。

其次,本发明实施例中,图像采集设备确定3d关键点坐标信息的方式可以是,先得到待选择3d关键点的坐标信息,然后获取待选择3d关键点的观测角,若观测角大于预设角度,则将待选择3d关键点的坐标信息确定为目标3d关键点的坐标信息。通过上述方式,可以选择观测角大于预设角度的目标3d关键点,观测角大可以说明slam系统的初始化误差小,从而提升方案的实用性和可操作性。

可选地,在上述图4对应的实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第六个可选实施例中,根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息之后,还可以包括:

生成跟踪记录,其中,跟踪记录用于记录多个图像中2d关键点的坐标信息,跟踪记录中的第一个图像为第一图像,跟踪记录中的最后一个图像为第二图像,且第一图像与第二图像之间包含至少一个图像。

本实施例中,将具体介绍如何生成关键点对应的跟踪记录,为了便于理解,请参阅图6,图6为本发明实施例中生成跟踪记录的一个示意图,如图所示,图中展示4帧图像,分别为第t帧图像、第t+1帧图像、第t+2帧图像以及第t+3帧图像,实心星表示跟踪关键点,空心星表示跟踪起始点,虚线则表示跟踪记录。

在我们的系统中,从某一帧检测到的某个关键点出发,连续跟踪n帧图像直至跟踪丢失,整个轨迹我们称之为一条跟踪记录,每条跟踪记录的数据结构记录其经过的每个图像帧号以及在相应帧中的2d坐标,以及是否三角化成功并有对应的3d点、及其在不同帧观测到的最大观测夹角等数据。

跟踪记录与第一图像和第二图像相关,这里的第一图像是指跟踪记录中的第一个图像,而第二图像是指跟踪记录中的最后一个图像,于是,可以认为在第一图像和第二图像之间还包含有至少一个图像。

其次,本发明实施例中,图像采集设备在获取一2d关键点的坐标信息和第二2d关键点的坐标信息之后,还可以生成跟踪记录,其中,跟踪记录用于记录多个图像中2d关键点的坐标信息。通过上述方式,可以得到包含多个图像中2d关键点坐标信息的跟踪记录,该跟踪记录能够跟踪经过各个图像的2d关键点,从而便于快速且准确地从跟踪记录中获取到所需图像对应的2d关键点坐标信息,以此提升方案的可行性。

可选地,在上述图4对应的第六个实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第七个可选实施例中,获取目标对象所对应的3d关键点的坐标信息,可以包括:

根据跟踪记录获取目标对象的第三2d关键点的坐标信息以及目标对象的第四2d关键点的坐标信息,其中,第三2d关键点属于第三图像,第四2d关键点属于第四图像,第三图像和第四图像均位于第一图像和第二图像之间;

对第一2d关键点的坐标信息和第三2d关键点的坐标信息进行三角化处理,并得到第一3d关键点的坐标信息;

对第三2d关键点的坐标信息和第四2d关键点的坐标信息进行三角化处理,并得到第二3d关键点的坐标信息;

根据第一3d关键点的坐标信息确定第一观测角,并根据第二3d关键点的坐标信息确定第二观测角,其中,第一观测角为第一图像中心点到第一3d关键点的连线,与第三图像中心点到第一3d关键点的连线之间的夹角,第二观测角为第二图像中心点到第二3d关键点的连线,与第三图像中心点到第二3d关键点的连线之间的夹角;

若第一观测角大于第二观测角,则将第一3d关键点的坐标信息确定为目标对象的3d关键点的坐标信息;

若第二观测角大于第一观测角,则将第二3d关键点的坐标信息确定为目标对象的3d关键点的坐标信息。

本实施例中,介绍了如何利用跟踪记录得到最优的3d关键点。由于通常情况下跟踪记录中包含有多帧图像的信息,两两图像之间计算得到3d关键点,最后选择出最优的3d关键点。其中,这里的多帧图像可以是关键帧图像,slam系统采用基于关键帧的技术来减少维护历史数据的数据量。关键帧的选取和管理可基于简单的规则式跳帧的方式,比如每隔m帧选择一个作为关键帧,当然也可以对关键帧做一些简单的启发式(heuristic)检查,只保留信息量较大的关键帧,

具体地,先根据跟踪记录获取第三2d关键点的坐标信息以及第四2d关键点的坐标信息,其中,第三2d关键点属于第三图像,第四2d关键点属于第四图像,第三图像和第四图像均位于第一图像和第二图像之间。接下来,根据第一2d关键点的坐标信息、第三2d关键点的坐标信息、第一图像的相机姿态信息以及第三图像的相机姿态信息进行三角化处理,并得到第一3d关键点的坐标信息。对第三2d关键点的坐标信息、第四2d关键点的坐标信息、第三图像的相机姿态信息以及第四图像的相机姿态信息进行三角化处理,并得到第二3d关键点的坐标信息,并得到第二3d关键点的坐标信息。在实际应用中,还可以根据第一2d关键点的坐标信息和第四2d关键点的坐标信息进行三角化处理,并得到第三3d关键点的坐标信息。至此,得到两两图像对应的3d关键点的坐标信息。

这个时候,根据上述图4对应的第五个可选实施例所介绍的观测角确定方法,可以分别得到第一3d关键点对应的第一观测角,第二3d关键点对应的第二观测角,以及第三3d关键点对应的第三观测角。比对第一观测角、第二观测角和第三观测角,从中选择出最大的一个观测角,其对应的3d关键点就是我们需要的这个3d关键点。

可以理解的是,本实施例是以比对三个观测角为例进行介绍的,然而这并不构成对本方案的限定。

再次,本发明实施例中,图像采集设备在确定3d关键点坐标信息的过程中,利用跟踪记录分别获取多帧图像中的2d关键点,然后对两两图像中的2d关键点做三角化处理,得到多个3d关键点。这些3d关键点分别对应一个观测角,最后选择观测角最大的3d关键点。通过上述方式,可以根据跟踪记录得到最大观测角对应的3d关键点,观测角大可以说明slam系统的初始化误差小,从而提升方案的实用性和可操作性。

可选地,在上述图4以及图4对应的第一至第七个实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第八个可选实施例中,根据第一2d关键点的坐标信息、第二2d关键点的坐标信息以及3d关键点的坐标信息,确定第二图像的相机姿态信息,可以包括:

根据3d关键点的坐标信息获取3d到2d的投影误差;

根据第一2d关键点的坐标信息和第二2d关键点的坐标信息,获取2d到2d的对极距离;

根据3d到2d的投影误差和2d到2d的对极距离计算目标函数,并对目标函数进行最小化求解,以得到第二图像的相机姿态信息。

本实施例中,介绍了如何获取第二图像的相机姿态信息。具体地,图像采集设备根据3d关键点的坐标信息获取投影到第二图像上的投影误差,即得到3d-2d的投影误差。与此同时,根据第一2d关键点的坐标信息和第二2d关键点的坐标信息,即获取2d-2d的对极距离。最后,图像采集设备根据3d-2d的投影误差和2d-2d的对极距离计算目标函数,并对目标函数进行最小化求解,以得到第二图像的相机姿态信息。

可以理解的是,这里的第一图像可以是跟踪记录中的第一帧图像,第二图像可以是跟踪记录中的最后一帧图像。

其中,在计算机视觉中经常会使用到投影误差。比如在计算平面单应矩阵和投影矩阵的时候,往往会使用重投影误差来构造代价函数,然后最小化这个代价函数,以优化单应矩阵或者投影矩阵。之所以使用投影误差,是因为它不光考虑了单应矩阵的计算误差,也考虑了图像点的测量误差,所以其精度比单边或者对称变换误差高。

对极距离是来源于运动恢复结构问题,在两个相机位置产生的两幅图像的之间存在的一种特殊几何关系,是2d-2d求解两帧间相机姿态的基本模型。有了对极距离的模型,2d-2d的相机姿态可以通过如下过程求解:

通过多组对应点进行帧间匹配,求出基本矩阵。再通过对基本矩阵进行分解求出外参数,即得到旋转量和平移量,也可以认为是相机姿态。

更进一步地,本发明实施例中,图像采集设备可以获取3d到2d的投影误差,并且获取2d到2d的对极距离,然后根据3d到2d的投影误差和2d到2d的对极距离计算目标函数,再对目标函数进行最小化求解。通过上述方式,可以得到更为准确的相机姿态信息,由于该相机姿态信息是目标函数的最小化求解值,也可以认为是一个最优解,因此可以提升目标对象在第二图像中的位置准确度。

可选地,在上述图4对应的第八个实施例的基础上,本发明实施例提供的图像采集设备信息确定的方法第九个可选实施例中,根据3d关键点的坐标信息和第二2d关键点的坐标信息,获取3d到2d的投影误差,可以包括:

采用如下公式计算3d到2d的投影误差:

其中,a表示3d到2d的投影误差,c3d2d表示投影到第二图像上的3d关键点集合,ui表示第二2d关键点的坐标信息,πx表示将3d投影到2d的投影函数,投影函数与相机姿态信息具有关联关系,pi表示3d关键点的坐标信息;

根据第一2d关键点的坐标信息和第二2d关键点的坐标信息,获取2d到2d的对极距离,可以包括:

采用如下公式计算2d到2d的对极距离:

其中,b表示2d到2d的对极距离,c2d2d表示第二2d关键点与第一2d关键点的集合,λ表示预置平衡常数,预置平衡常数用于使2d到2d的对极距离与3d到2d的投影误差之间的差值在预设范围内,u'i表示第一2d关键点的坐标信息,fx表示第二图像与第一图像之间的基本矩阵,投影函数与相机姿态信息具有关联关系;

所述根据3d到2d的投影误差和2d到2d的对极距离计算目标函数,可以包括:

采用如下公式计算目标函数:

其中,e(x)表示目标函数,x表示第二图像的相机姿态信息。

本实施例中,3d就是之前已经三角化成功的3d关键点,2d是在当前帧中观测到那些3d关键点在当前帧对应的2d图像坐标。这里提出一种新的目标函数,同时包括3d-2d的投影误差以及2d-2d的对极距离,这样在通过最小化新的目标函数来求解相机姿态信息。

假设待求解的相机姿态信息是x,其中,x包括旋转量r和平移量t,我们的目标函数如下(注意下面的2d关键和3d关键点的坐标都是用的齐次坐标的形式,比如2d关键点[x,y]t的齐次坐标是[x,y,1]t,3d关键点[x,y,z]t的齐次坐标是[x,y,z,1]t,这里的符号t表示矩阵或向量的转置。

首先,计算采用如下公式计算3d到2d的投影误差:

其中,a表示3d到2d的投影误差,||||2表示2的范数,c3d2d表示投影到第二图像上的3d关键点集合,ui表示第二2d关键点的坐标信息,πx表示将3d投影到2d的投影函数,投影函数与相机姿态信息具有关联关系,pi表示3d关键点的坐标信息。

接下来,计算采用如下公式计算2d到2d的对极距离:

其中,b表示2d到2d的对极距离,c2d2d表示第二2d关键点与第一2d关键点的集合,λ表示预置平衡常数,预置平衡常数用于使2d到2d的对极距离与3d到2d的投影误差之间的差值在预设范围内,u'i表示第一2d关键点的坐标信息,fx表示第二图像与第一图像之间的基本矩阵,投影函数与相机姿态信息具有关联关系。

公式(2)中的(v)j算法表示取向量v的第j个元素。

最后,综合公式(1)和公式(2)计算计算目标函数:

其中,e(x)表示目标函数,x表示第二图像的相机姿态信息。

公式(2)其实是一种近似的对极距离叫做桑普森距离(sampsondistance)。公式(3)中的λ是一个平衡公式(1)和公式(2)的权重值,可以根据实际实验效果进行选择。目标函数是一种基于二次成本的形式,为了得到更稳定的效果,实际使用中可以将目标函数进行凸优化(robustify),比如使用huber函数对其两项分别进行robustify。

我们对目标函数进行最小化求解,为了使得求解结果有效,我们将x参数化,利用非线性最小二乘法(levenberg–marquardt,lm)进行求解。在优化求解的过程中,我们可以采用其他方法先获得,x的一个粗略初始值,然后再进行迭代优化,可以避免陷入局部最优解。

再进一步地,本发明实施例中,提供了具体的计算公式,根据相应的公式分别计算3d到2d的投影误差和2d到2d的对极距离,然后结合两者得到目标函数。通过上述方式,可以提升获取目标函数的可靠性,提升方案的可行性和实用性。

为便于理解,下面可以以一个具体应用场景对本发明中相机姿态信息确定的过程进行详细描述,请参阅图7,图7为本发明应用场景中确定相机姿态信息的一个流程示意图,具体为:

步骤a201中,首先开始加载新的一帧图像;

步骤a202中,判断新加载的这帧图像是否为第一帧图像,若是,则进入步骤b202,若不是,则进入步骤b201;

步骤b201中,继续判断上一帧图像的关键点是否达到阈值门限,若是,则进入步骤b204,若不是,则进入步骤b203;

步骤b202中,在本发明的slam系统中,我们采用基于小区和跟踪记录的方式管理关键点的检测和跟踪。以第一帧图像i1开始为例,我们首先在图像中检测显著的关键点,然后将图像划分规则的小区,并将关键点与其所在的小区对应起来;

步骤b203中,当新的一帧图像i3加载后,我们需要首先检测前一帧i2中成功跟踪的关键点个数是否足够(即跟预先设定的阈值门限相比),如果不够多,则需要在相应关键点比较少的小区中多检测一些关键点,需要注意这里是在i2中检测关键点;

步骤b204中,从i2中的关键点跟踪到当前帧i3。如此下去,第k帧图像的处理方式也是类似,当新的一帧图像i2加载后,我们从图像i1中的关键点利用2d-2d的关键点跟踪算法计算出这些关键点在当前帧i2中的2d位置;

步骤b205中,判断当前图像的关键点个数是否达到阈值门限,若是,则进入步骤c201,反之,若不是,则进入步骤b206;

步骤b206中,可以断定系统跟踪失败;

步骤c201中,进而判断系统是否进行初始化,若是,则进入步骤d201,反之,若否,则进入步骤c202;

步骤c202中,这里的初始化方法我们采用经典的基于单应性的方法,大致来讲,我们在系统尚未初始化完成时,利用当前帧跟踪成功的关键点在当前帧的2d关键点坐标以及其在第一帧的2d关键点坐标利用随机抽样一致算法(randomsampleconsensus,ransac)来计算单应矩阵,然后将单应矩阵进行分解求得当前帧相对于第一帧的关联拍照姿态(关联位置信息),最后利用求得的关联拍照姿态对2d-2dcorrespondence进行三角化求得对应的3d关键点坐标。这里,我们需要对triangulation中的观测角进行评估,如果这些3d关键点对应的观测角大多数都太小,可以说明此次初始化误差较大,这时需要将系统标记为初始化失败,后面加载后续帧时再次尝试去初始化;

步骤c203中,判断是否初始化成功,若是,则进入步骤c204,反之,若否,则跳转至步骤a201;

步骤c204中,标记系统已经初始化成功;

步骤d201中,这里提出一种新的目标函数,同时包括3d-2d的投影误差以及2d-2d的对极距离,这样在通过最小化新的目标函数来求解相机姿态信息;

步骤d202中,在线输出步骤d201得到的相机姿态信息;

步骤e201中,系统采用基于关键帧的技术来减少维护历史数据的数据量(关键帧的选取和管理可以基于简单的规则式跳帧的方式,比如每隔m帧选择一个作为关键帧,当然也可以对关键帧做一些简单的heuristic的检查,只保留信息量较大的关键帧)。在关键帧中,我们对没有三角化过的跟踪记录使用其跟踪记录的起始点和结束点进行三角化,以此求出跟踪记录所对应的3d关键点,并检查其观测角,保留具有较大的观测角的3d点。需要注意的是,这一步可以在每一帧时都去做,并不一定只在关键帧时才做,可以根据实际的计算速度进行调整;

步骤f201中,本系统也可以加入局部或全局的束调整(bundleadjustment)以及回环检测和修正等机制,从而来提高整个系统的精度,这些模块相对比较独立,同样可以参考已有slam系统灵活加入。

下面对本发明中的图像采集设备进行详细描述,请参阅图8,本发明实施例中的图像采集设备30包括:

获取模块301,用于获取目标对象的第一图像;

提取模块302,用于从所述获取模块301获取的所述第一图像中提取所述目标对象所对应的第一2d关键点的坐标信息;

所述获取模块301,还用于获取所述目标对象的第二图像;

所述获取模块301,还用于根据所述提取模块302提取的所述第一2d关键点的坐标信息获取所述第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是所述目标对象中的同一个关键点;

所述获取模块301,还用于获取所述目标对象所对应的3d关键点的坐标信息,其中,所述3d关键点为经过三角化处理的关键点;

确定模块303,用于根据所述提取模块302提取的所述第一2d关键点的坐标信息、所述获取模块301获取的所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定目标对象在所述第二图像中的位置。

本实施例中,获取模块301获取目标对象的第一图像,提取模块302从所述获取模块301获取的所述第一图像中提取所述目标对象所对应的第一2d关键点的坐标信息,所述获取模块301获取所述目标对象的第二图像,所述获取模块301根据所述提取模块302提取的所述第一2d关键点的坐标信息获取所述第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是所述目标对象中的同一个关键点,所述获取模块301获取所述目标对象所对应的3d关键点的坐标信息,其中,所述3d关键点为经过三角化处理的关键点,确定模块303根据所述提取模块302提取的所述第一2d关键点的坐标信息、所述获取模块301获取的所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定目标对象在所述第二图像中的位置。

本发明实施例中,提供了一种图像采集设备,首先获取第一图像中的第一2d关键点的坐标信息,然后可以根据第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息,其中,第一2d关键点与第二2d关键点是位于不同图像中的同一个关键点,第一图像为第二图像之前的任意一帧图像,再获取3d关键点的坐标信息,最后根据第一2d关键点的坐标信息、第二2d关键点的坐标信息以及3d关键点的坐标信息,确定第二图像的相机姿态信息,相机姿态信息用于确定目标对象在第二图像中的位置。通过上述方式,不但考虑到了3d关键点的坐标信息与第二2d关键点坐标信息对相机姿态信息的影响,同时也考虑到了第一2d关键点的坐标信息,换言之,本方案结合了3d-2dcorrespondences和2d-2dcorrespondences,能够在估计第二图像的相机姿态信息时得到更多的关键点,一方面可以减小相机姿态信息的误差,另一方面,也可以避免由于跟踪的关键点数量太少而导致跟踪丢失的情况。

可选地,在上述图8所对应的实施例的基础上,请参阅图9,本发明实施例提供的图像采集设备30的另一实施例中,所述图像采集设备30还包括:

判断模块304,用于所述获取模块301根据所述第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息之前,判断在所述第二图像中的所述第二2d关键点的个数是否达到阈值门限;

触发模块305,用于若所述判断模块304判断得到所述第二2d关键点的个数达到阈值门限,则触发所述根据所述第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息的步骤。

其次,本发明实施例中,图像采集设备在获取第二2d关键点的坐标信息之前,需要先获取第二2d关键点,并且判断这些第二2d关键点的个数是否达到了阈值门限,在达到阈值门限的情况下继续获取第二2d关键点的坐标信息。通过上述方式,可以保证所获取的第二2d关键点的个数达到阈值门限,防止由于跟踪的第二2d关键点个数太少,而导致跟踪丢失,以此提升方案的实用性和可行性。

可选地,在上述图8或图9所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

所述确定模块303,具体用于从所述第一图像中确定所述第一2d关键点;

从所述第一图像中确定与所述第一2d关键点对应的第二2d关键点;

根据所述第一2d关键点的坐标信息与位移信息,确定所述第二2d关键点的坐标信息,其中,所述位移信息为从所述第一2d关键点移动到所述第二2d关键点的距离。

再次,本发明实施例中,在获取第二图像的第二2d关键点坐标信息的过程中,首先需要从第一图像中确定第一2d关键点,然后在第二图像中找到这个2d关键点,即找到第二2d关键点,再利用两个关键点之间的位移信息推导出第二2d关键点所在的坐标信息。通过上述方式,可以准确地定位第二2d关键点,为方案的实现提供了一种可行的方法,从而提升方案的实用性和可操作性。

可选地,在上述图9所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

若所述第二2d关键点的个数未达到阈值门限,则所述获取模块301,还用于从所述第一图像中获取n个关键点,以使所述第二2d关键点与所述n个关键点的个数之和达到所述阈值门限,其中,n为正整数,所述n个关键点是从所述第一图像所对应的目标小区中获取到的,所述第一图像包含多个均分的小区,目标小区中的关键点个数小于预设关键点门限;

根据所述第一2d关键点的坐标信息以及所述n个关键点的坐标信息,获取所述第二图像中的所述n个关键点的坐标信息和所述第二2d关键点的坐标信息。

再次,本发明实施例中,如果第二2d关键点的个数没有达到阈值门限,则需要从第一图像中获取n个关键点,使得第二2d关键点与n个关键点的个数之和达到所述阈值门限,然后根据第一2d关键点的坐标信息以及n个关键点的坐标信息,获取第二图像中的第二2d关键点的坐标信息。通过上述方式,可以保证所获取的第二2d关键点的个数达到阈值门限,防止由于跟踪的第二2d关键点个数太少,而导致跟踪丢失,以此提升方案的灵活性和可行性。

可选地,在上述图9所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

所述确定模块303,具体用于从所述第一图像中确定所述第一2d关键点以及所述n个关键点;

从所述第一图像中确定与所述第一2d关键点和所述n个关键点对应的第二2d关键点;

根据所述第一2d关键点的坐标信息、所述n个关键点的坐标信息以及位移信息,确定所述第二图像中的所述n个关键点的坐标信息和所述第二2d关键点的坐标信息,其中,所述位移信息包括从所述第一2d关键点移动到所述第二2d关键点的距离,以及从所述n个关键点移动到所述第二2d关键点的距离。

进一步地,本发明实施例中,首先需要从第一图像中确定第一2d关键点以及n个关键点,然后从第一图像中确定与第一2d关键点和n个关键点对应的第二2d关键点,再根据第一2d关键点的坐标信息、n个关键点的坐标信息以及位移信息,共同确定第二图像中的n个关键点的坐标信息和第二2d关键点的坐标信息。通过上述方式,可以准确地定位n个2d关键点和第二2d关键点,为方案的实现提供了另一种可行的方法,从而提升方案的灵活性和可操作性。

可选地,在上述图8所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

所述确定模块302,还用于确定所述第二图像的相机姿态信息之后,对所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息、所述第一图像的相机姿态信息和所述第二图像的相机姿态信息进行三角化处理,并得到待选择3d关键点以及所述待选择3d关键点的坐标信息;

根据所述待选择3d关键点确定观测角,其中,所述观测角为所述第一图像中心点到所述待选择3d关键点的连线,与所述第二图像中心点到所述待选择3d关键点的连线之间的夹角;

若所述观测角大于预设角度,则将所述待选择3d关键点的坐标信息确定为目标3d关键点的坐标信息。

其次,本发明实施例中,图像采集设备确定3d关键点坐标信息的方式可以是,先对第一2d关键点的坐标信息和第二2d关键点的坐标信息进行三角化处理,并得到待选择3d关键点的坐标信息,然后获取待选择3d关键点的观测角,若观测角大于预设角度,则将待选择3d关键点的坐标信息确定为目标3d关键点的坐标信息。通过上述方式,可以选择观测角大于预设角度的目标3d关键点,观测角大可以说明slam系统的初始化误差小,从而提升方案的实用性和可操作性。

可选地,在上述图8所对应的实施例的基础上,请参阅图10,本发明实施例提供的图像采集设备30的另一实施例中,所述图像采集设备30还包括:

生成模块306,用于所述获取模块301根据所述第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息之后,生成跟踪记录,其中,所述跟踪记录用于记录多个图像中2d关键点的坐标信息,所述跟踪记录中的第一个图像为所述第一图像,所述跟踪记录中的最后一个图像为所述第二图像,且所述第一图像与所述第二图像之间包含至少一个图像。

其次,本发明实施例中,图像采集设备在获取一2d关键点的坐标信息和第二2d关键点的坐标信息之后,还可以生成跟踪记录,其中,跟踪记录用于记录多个图像中2d关键点的坐标信息。通过上述方式,可以得到包含多个图像中2d关键点坐标信息的跟踪记录,该跟踪记录能够跟踪经过各个图像的2d关键点,从而便于快速且准确地从跟踪记录中获取到所需图像对应的2d关键点坐标信息,以此提升方案的可行性。

可选地,在上述图10所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

所述获取模块301,具体用于根据所述跟踪记录获取所述目标对象的第三2d关键点的坐标信息以及所述目标对象的第四2d关键点的坐标信息,其中,所述第三2d关键点属于第三图像,所述第四2d关键点属于第四图像,所述第三图像和所述第四图像均位于所述第一图像和所述第二图像之间;

对所述第一2d关键点的坐标信息和所述第三2d关键点的坐标信息进行三角化处理,并得到第一3d关键点的坐标信息;

对所述第三2d关键点的坐标信息和所述第四2d关键点的坐标信息进行三角化处理,并得到第二3d关键点的坐标信息;

根据所述第一3d关键点的坐标信息确定第一观测角,并根据所述第二3d关键点的坐标信息确定第二观测角,其中,所述第一观测角为所述第一图像中心点到所述第一3d关键点的连线,与所述第三图像中心点到所述第一3d关键点的连线之间的夹角,所述第二观测角为所述第二图像中心点到所述第二3d关键点的连线,与所述第三图像中心点到所述第二3d关键点的连线之间的夹角;

若所述第一观测角大于所述第二观测角,则将所述第一3d关键点的坐标信息确定为所述目标对象的所述3d关键点的坐标信息;

若所述第二观测角大于所述第一观测角,则将所述第二3d关键点的坐标信息确定为所述目标对象的所述3d关键点的坐标信息。

再次,本发明实施例中,图像采集设备在确定3d关键点坐标信息的过程中,利用跟踪记录分别获取多帧图像中的2d关键点,然后对两两图像中的2d关键点做三角化处理,得到多个3d关键点。这些3d关键点分别对应一个观测角,最后选择观测角最大的3d关键点。通过上述方式,可以根据跟踪记录得到最大观测角对应的3d关键点,观测角大可以说明slam系统的初始化误差小,从而提升方案的实用性和可操作性。

可选地,在上述图8、图9或图10所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

所述确定模块303,具体用于根据所述3d关键点的坐标信息获取3d到2d的投影误差;

根据所述第一2d关键点的坐标信息和所述第二2d关键点的坐标信息,获取2d到2d的对极距离;

根据所述3d到2d的投影误差和所述2d到2d的对极距离计算目标函数,并对所述目标函数进行最小化求解,以得到所述第二图像的相机姿态信息。

更进一步地,本发明实施例中,图像采集设备可以获取3d到2d的投影误差,并且获取2d到2d的对极距离,然后根据3d到2d的投影误差和2d到2d的对极距离计算目标函数,再对目标函数进行最小化求解。通过上述方式,可以得到更为准确的相机姿态信息,由于该相机姿态信息是目标函数的最小化求解值,也可以认为是一个最优解,因此可以提升目标对象在第二图像中的位置准确度。

可选地,在上述图8、图9或图10所对应的实施例的基础上,本发明实施例提供的图像采集设备30的另一实施例中,

所述确定模块303,具体用于采用如下公式计算所述3d到2d的投影误差:

其中,所述a表示所述3d到2d的投影误差,所述c3d2d表示投影到所述第二图像上的3d关键点集合,所述ui表示所述第二2d关键点的坐标信息,所述πx表示将3d投影到2d的投影函数,所述投影函数与所述相机姿态信息具有关联关系,所述pi表示所述3d关键点的坐标信息;

所述确定模块303,具体用于采用如下公式计算所述2d到2d的对极距离:

其中,所述b表示所述2d到2d的对极距离,所述c2d2d表示所述第二2d关键点与所述第一2d关键点的集合,所述λ表示预置平衡常数,所述预置平衡常数用于使所述2d到2d的对极距离与所述3d到2d的投影误差之间的差值在预设范围内,所述u'i表示所述第一2d关键点的坐标信息,所述fx表示所述第二图像与所述第一图像之间的基本矩阵,所述投影函数与所述相机姿态信息具有关联关系;

所述确定模块303,具体用于采用如下公式计算所述目标函数:

其中,e(x)表示所述目标函数,所述x表示所述第二图像的相机姿态信息。

再进一步地,本发明实施例中,提供了具体的计算公式,根据相应的公式分别计算3d到2d的投影误差和2d到2d的对极距离,然后结合两者得到目标函数。通过上述方式,可以提升获取目标函数的可靠性,提升方案的可行性和实用性。

本发明实施例还提供了另一种图像采集设备,如图11所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、销售终端(pointofsales,pos)、车载电脑等任意终端设备,以终端为手机为例:

图11示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图11,手机包括:射频(radiofrequency,rf)电路410、存储器420、输入单元430、显示单元440、传感器450、音频电路460、无线保真(wirelessfidelity,wifi)模块470、处理器480、以及电源490等部件。本领域技术人员可以理解,图11中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图11对手机的各个构成部件进行具体的介绍:

rf电路410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器480处理;另外,将设计上行的数据发送给基站。通常,rf电路410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路410还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器420可用于存储软件程序以及模块,处理器480通过运行存储在存储器420的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元430可包括触控面板431以及其他输入设备432。触控面板431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板431上或在触控面板431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器480,并能接收处理器480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板431。除了触控面板431,输入单元430还可以包括其他输入设备432。具体地,其他输入设备432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元440可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元440可包括显示面板441,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板441。进一步的,触控面板431可覆盖显示面板441,当触控面板431检测到在其上或附近的触摸操作后,传送给处理器480以确定触摸事件的类型,随后处理器480根据触摸事件的类型在显示面板441上提供相应的视觉输出。虽然在图11中,触控面板431与显示面板441是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板431与显示面板441集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板441的亮度,接近传感器可在手机移动到耳边时,关闭显示面板441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路460、扬声器461,传声器462可提供用户与手机之间的音频接口。音频电路460可将接收到的音频数据转换后的电信号,传输到扬声器461,由扬声器461转换为声音信号输出;另一方面,传声器462将收集的声音信号转换为电信号,由音频电路460接收后转换为音频数据,再将音频数据输出处理器480处理后,经rf电路410以发送给比如另一手机,或者将音频数据输出至存储器420以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了wifi模块470,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器480可包括一个或多个处理单元;可选的,处理器480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器480中。

手机还包括给各个部件供电的电源490(比如电池),可选的,电源可以通过电源管理系统与处理器480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器480还具有以下功能:

获取目标对象的第一图像;

从所述第一图像中提取所述目标对象所对应的第一2d关键点的坐标信息;

获取所述目标对象的第二图像;

根据所述第一2d关键点的坐标信息获取所述第二图像的第二2d关键点的坐标信息,其中,所述第一2d关键点与所述第二2d关键点是所述目标对象中的同一个关键点;

获取所述目标对象所对应的3d关键点的坐标信息,其中,所述3d关键点为经过三角化处理的关键点;

根据所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息以及所述3d关键点的坐标信息,确定所述第二图像的相机姿态信息,其中,所述相机姿态信息用于确定目标对象在所述第二图像中的位置。

可选地,处理器480还用于执行如下步骤:

判断在所述第二图像中的所述第二2d关键点的个数是否达到阈值门限;

若所述第二2d关键点的个数达到阈值门限,则触发所述根据所述第一2d关键点的坐标信息获取第二图像的第二2d关键点的坐标信息的步骤。

可选地,处理器480具体用于执行如下步骤:

从所述第一图像中确定所述第一2d关键点;

从所述第一图像中确定与所述第一2d关键点对应的第二2d关键点;

根据所述第一2d关键点的坐标信息与位移信息,确定所述第二2d关键点的坐标信息,其中,所述位移信息为从所述第一2d关键点移动到所述第二2d关键点的距离。

可选地,处理器480还用于执行如下步骤:

若所述第二2d关键点的个数未达到阈值门限,则从所述第一图像中获取n个关键点,以使所述第二2d关键点与所述n个关键点的个数之和达到所述阈值门限,其中,n为正整数,所述n个关键点是从所述第一图像所对应的目标小区中获取到的,所述第一图像包含多个均分的小区,目标小区中的关键点个数小于预设关键点门限;

根据所述第一2d关键点的坐标信息以及所述n个关键点的坐标信息,获取所述第二图像中的所述n个关键点的坐标信息和所述第二2d关键点的坐标信息。

可选地,处理器480具体用于执行如下步骤:

从所述第一图像中确定所述第一2d关键点以及所述n个关键点;

从所述第一图像中确定与所述第一2d关键点和所述n个关键点对应的第二2d关键点;

根据所述第一2d关键点的坐标信息、所述n个关键点的坐标信息以及位移信息,确定所述第二图像中的所述n个关键点的坐标信息和所述第二2d关键点的坐标信息,其中,所述位移信息包括从所述第一2d关键点移动到所述第二2d关键点的距离,以及从所述n个关键点移动到所述第二2d关键点的距离。

可选地,处理器480还用于执行如下步骤:

对所述第一2d关键点的坐标信息、所述第二2d关键点的坐标信息、所述第一图像的相机姿态信息和所述第二图像的相机姿态信息进行三角化处理,并得到待选择3d关键点以及所述待选择3d关键点的坐标信息;

根据所述待选择3d关键点确定观测角,其中,所述观测角为所述第一图像中心点到所述待选择3d关键点的连线,与所述第二图像中心点到所述待选择3d关键点的连线之间的夹角;

若所述观测角大于预设角度,则将所述待选择3d关键点的坐标信息确定为目标3d关键点的坐标信息。

可选地,处理器480还用于执行如下步骤:

生成跟踪记录,其中,所述跟踪记录用于记录多个图像中2d关键点的坐标信息,所述跟踪记录中的第一个图像为所述第一图像,所述跟踪记录中的最后一个图像为所述第二图像,且所述第一图像与所述第二图像之间包含至少一个图像。

可选地,处理器480具体用于执行如下步骤:

根据所述跟踪记录获取所述目标对象的第三2d关键点的坐标信息以及所述目标对象的第四2d关键点的坐标信息,其中,所述第三2d关键点属于第三图像,所述第四2d关键点属于第四图像,所述第三图像和所述第四图像均位于所述第一图像和所述第二图像之间;

对所述第一2d关键点的坐标信息和所述第三2d关键点的坐标信息进行三角化处理,并得到第一3d关键点的坐标信息;

对所述第三2d关键点的坐标信息和所述第四2d关键点的坐标信息进行三角化处理,并得到第二3d关键点的坐标信息;

根据所述第一3d关键点的坐标信息确定第一观测角,并根据所述第二3d关键点的坐标信息确定第二观测角,其中,所述第一观测角为所述第一图像中心点到所述第一3d关键点的连线,与所述第三图像中心点到所述第一3d关键点的连线之间的夹角,所述第二观测角为所述第二图像中心点到所述第二3d关键点的连线,与所述第三图像中心点到所述第二3d关键点的连线之间的夹角;

若所述第一观测角大于所述第二观测角,则将所述第一3d关键点的坐标信息确定为所述目标对象的所述3d关键点的坐标信息;

若所述第二观测角大于所述第一观测角,则将所述第二3d关键点的坐标信息确定为所述目标对象的所述3d关键点的坐标信息。

可选地,处理器480具体用于执行如下步骤:

根据所述3d关键点的坐标信息获取3d到2d的投影误差;

根据所述第一2d关键点的坐标信息和所述第二2d关键点的坐标信息,获取2d到2d的对极距离;

根据所述3d到2d的投影误差和所述2d到2d的对极距离计算目标函数,并对所述目标函数进行最小化求解,以得到所述第二图像的相机姿态信息。

可选地,处理器480具体用于执行如下步骤:

采用如下公式计算所述3d到2d的投影误差:

其中,所述a表示所述3d到2d的投影误差,所述c3d2d表示投影到所述第二图像上的3d关键点集合,所述ui表示所述第二2d关键点的坐标信息,所述πx表示将3d投影到2d的投影函数,所述投影函数与所述相机姿态信息具有关联关系,所述pi表示所述3d关键点的坐标信息;

所述根据所述第一2d关键点的坐标信息和所述第二2d关键点的坐标信息,获取2d到2d的对极距离,包括:

采用如下公式计算所述2d到2d的对极距离:

其中,所述b表示所述2d到2d的对极距离,所述c2d2d表示所述第二2d关键点与所述第一2d关键点的集合,所述λ表示预置平衡常数,所述预置平衡常数用于使所述2d到2d的对极距离与所述3d到2d的投影误差之间的差值在预设范围内,所述u'i表示所述第一2d关键点的坐标信息,所述fx表示所述第二图像与所述第一图像之间的基本矩阵,所述投影函数与所述相机姿态信息具有关联关系;

所述根据3d到2d的投影误差和2d到2d的对极距离计算目标函数,可以包括:

采用如下公式计算所述目标函数:

其中,e(x)表示所述目标函数,所述x表示所述第二图像的相机姿态信息。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digitalversatiledisc,dvd))、或者半导体介质(例如固态硬盘(solidstatedisk,ssd)等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1