基于客户端-服务器的动态搜索的制作方法_2

文档序号:9291676阅读:来源:国知局
描述符进行匹配,形成3D到3D的对应关系。然后可以估计相似性变换以便获得对象相对于SLAM环境原点的位姿,因为地图点在SLAM环境坐标框架中具有3D位置。
[0030]根据本发明的方面,可以相对于SLAM环境坐标框架跟踪移动装置202的位姿。通过累积SLAM环境并将地图点作为查询信息而发送到服务器,查询响应可以包含构成搜索查询时相对于SLAM环境原点而不是相对于移动装置202的检测的对象位姿。使用SLAM框架,所公开的方法可以降低从移动装置202发送到服务器206的数据量,并且可以因此降低网络延时,允许从查询响应计算对象的实时位姿。与图1中描述的常规方法中的单个查询图像相反,所述方法还使来自多个观察点的信息能够作为搜索查询被发送,并且因此可以在对象检测和跟踪方面产生更好的结果。
[0031]根据本发明的方面,SLAM是计算传感器相对于环境的位置与定向,而同时创建环境地图的过程。前述的传感器可以是从场景捕获信息的一或多个照相机阵列。所述信息可以是视觉信息(例如标准成像装置)或直接深度信息(例如无源立体或有源深度照相机)中的一个或组合。来自SLAM系统的输出可以是相对于环境的传感器位姿(位置和定向),以及某一形式的地图,包括至少稀疏点(其可以包含法线信息),和/或密集表面网格。
[0032]图3示出了根据本发明的一些方面确定移动装置相对于对象的位姿的方法。如图3所示,也称为客户端(C)装置的移动装置202由黑色圆点表示;对象304由字母X表示;以及服务器206由灰色的云表示。XCqUCTy表示在时间t = t qUCTy时对象304相对于客户端装置202的位姿;XCllve表示在时间t = t 寸对象304相对于客户端装置202的位姿;0X _表示在时间t = tqUCTy时对象304相对于SLAM环境的原点308 (也简称为原点)的位姿;0C query表示在t = tqUCTy时客户端装置202相对于原点308的位姿;0C live表示在t = t live时客户端装置202相对于原点308的位姿。
[0033]在时间t = %_时,搜索查询(由箭头303表示)可被发送到服务器206。当搜索查询303正在被处理时,移动客户端202可继续移动。移动客户端202上的SLAM框架可以用于计算客户端装置202相对于SLAM环境的原点308的位姿(OC)。在时间t = 寸,客户端装置202从服务器206接收查询响应(由箭头305表示)。注意发回的查询响应可以是对象相对于CqUCTjP XC qUCTy的坐标框架的位姿,从当前的客户端装置的视角C llTC来看,这是过时的位姿。如图1的描述所示,所述差异可能是由于网络和处理延迟,对于传统的基于图像的搜索这可能是没用的。另一方面,根据本发明的方面,从服务器206接收的查询响应305仍然能够被使用,因为它可相对于SLAM环境的原点308(0XqUCTy)被观察到或利用。因而,当当前客户端装置202的位姿被确定时,为了对象增强的目的,可计算从对象坐标框架到客户端装置坐标框架(XCllre)的转换。
[0034]在一种方法中,对象304相对于客户端装置202的实时位姿(XCllve)可以从查询响应305 (OXquery)计算。这是因为从客户端装置202到SLAM环境的原点308 (OCllve)的转换可以被跟踪并确定。对象304相对于客户端装置202 (XCllve)的位姿也可通过关系式=XCllve =OCllveX(OXquery) \ 来确定。
[0035]根据本发明的方面,多个地图点可以被作为搜索查询而发送。在一个实施例中,只有在上一次查询以来被添加到所述地图的地图点在所述查询中被发送。应注意,先前被发送的搜索查询可以通过服务器206被存储及高速缓存。这使服务器206能够在来自移动装置202的全部地图点上进行搜索,而无需每次将这些点发送到服务器206。在另一种方法中,移动装置202可以每次发送整个地图,这意味着不需要在服务器206上进行暂时存储。
[0036]根据本发明的方面,服务器206可以包含关键点和具有3D位置信息(和潜在表面法线)的描述符的数据库,类似于在查询中传输的地图点。然而,服务器206上的关键点和描述符可与数据库对象的部分相对应,并且可在离线过程中提前产生。在一些实施方案中,在服务器206上可以创建有效的用于搜索的数据结构,以使得可以快速地计算描述符之间的最近邻搜索。这些数据结构可以采用树状(诸如K-手段、kD-树、二叉树)、散列表或最近邻分类器的形式。用以识别是否存在由移动装置202发送的SLAM地图中的任何数据库对象的搜索涉及,在服务器描述符数据库内找出地图点描述符的最近邻居。服务器206和移动装置202上的描述符是表示对象或场景部分外观的向量。可能的描述符可包含但不限于 SIFT 和 SURF。
[0037]通过移动装置202发送的每个地图点可具有一组O至N的最近邻对应关系,所述对应关系通过搜索查询过程识别。考虑到效率,这些对应关系可以通过服务器206存储,以使得它们在下一个搜索查询时可不用被再次计算。在识别这些对应关系之后投票步骤可发生,其中所发现的某些对象的对应关系数量可以导致做出决定,即某些对象高度可能存在于SLAM地图中。对于这些高度可能存在的对象的每个,几何校验过程可被用于将内层对应关系从外层对应关系过滤出。所述几何校验可以涉及相对的3D位置限制、描述符旋转限制和法线方向限制。几何校验的结果是在从装置发送的地图点和服务器数据库中对象之间的一组对应关系。
[0038]地图点可以包括相对于SLAM地图原点的至少一个3D位置和描述符,因此与服务器206(也具有3D位置)中的描述符的匹配可以产生一系列3D到3D的对应关系。这可使相似性转换(7-自由度:3D旋转、3D位置、比例)能够在服务器的数据库点和对应的SLAM地图点之间被计算,所述地图点被认为表示所述对象。所述相似性转换可以编码相对于SLAM地图原点的对象的位置、定向和比例。连同其它有用信息,诸如SLAM中地图中哪些地图点与服务器对象相对应,以及与数据库对象相关联的内容,这可以作为查询响应被传输回移动装置202。在SLAM地图和对象地图两者的比例都已知的情况下(例如二者都是绝对米制亥Ij度比例),则可能不存在比例差别,并且仅仅3D位姿就足够表示对象和SLAM地图原点之间的关系。
[0039]使用服务器206的搜索过程与照相机的帧速率相比相对较慢,通常在查询响应接收之前占用10秒的帧。然而,当服务器206处理搜索查询时,客户端可以使用相对于SLAM地图原点308的SLAM来执行视觉位姿跟踪。因此,由于搜索查询计算相对于SLAM地图原点308的转换,在计算了查询响应之后,对象和照相机的相对转换可以通过链接从照相机至SLAM地图原点308的转换以及从SLAM地图原点308至对象304的转换来计算。
[0040]除了使用SLAM框架跟踪移动装置202的位姿外,其还可用于确定何时将搜索查询发送到服务器206。当使用地图点作为查询数据时,可以做出几种优化。例如,SLAM环境的某些部分可增量发送到服务器206,其相较于使用专用的单个图像查询的常规方法可带来显著的改进。在一些实施方案中,随着新的地图点被添加到SLAM地图,可采用后台过程使得新地图点从客户端装置202流入服务器206。服务器206可经配置以具有会话处理能力,且可经配置以通过对先前结果(例如来自描述符匹配)的高速缓存的方式使用整个地图(包括新地图点)来执行查询,同时不要求对整个SLAM地图进行重新处理。相比于查询相同尺寸的全新地图,这种方法可以支持待处理的增量查询,其进而可提高对象检测以及扩增的现实应用的效率。采用这一方法,随着SLAM地图延伸,在新信息变可用时可能会有新的信息流,而非具有发送查询图像时不同的的判定点。因此,随着新信息可被发送,所公开的方法将发送到服务器206的信息量优化;与其中不同的图像被发送到服务器206的基于图像的查询相比,尽管所述不同图像可能主要呈现同一场景的视图。所公开方法的另一个好处是,相较于基于图像的方法,其中整个图像可能被上传并且对其进行重新处理,所述方法可以减少到达服务器的往返处理时间。
[0041]在对象非常大的情况下(例如建筑物),可能不适于使用单个照相机的图像查询,这可能使得使用如上图1所述的常规方法检测所述对象的任务变得困难。另一方面,根据本发明的各个方面,增量更新SLAM环境的能力可以使所公开的方法能够映射大的对象,诸如增量映射足球场,即使整个足球场可能不能被单个照相机视野所捕获。此外,发送SLAM环境至服务器的一些部分作为搜索查询的能力可以提高大对象的识别率,因为所公开的方法可以能够使用来自搜索查询中整个对象的信息。
[0042]当检测3D对象时,常规方法使用照相机图像作为搜索查询,其存在严重不利,因为所述图像是3D场景的2D投影,因而可能只代表单一的视点。使用SLAM环境作为查询数据,对象可能从多角度被映射,且所捕获的信息可能作为搜索查询被提交。因而,使用从多种角度所捕获的信息的公开方法在分辨一个对象与从某些视点看可能相同的其它对象方面可产生更好的结果。
[0043]图4示出了移动装置的示例性框图,所述移动装置经配置以根据本发明的一些方面执行基于客户端-服务器的查询。移动装置202包含用于捕获环境图像的照相机108,其既可以是独立照片也可以是视频帧。移动装置202还可包含传感器116,其可以用于提供数据,使用所述数据移动装置202可以确定其位置
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1