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

文档序号:9291676阅读:来源:国知局
和定向,即位姿。可以与移动装置202 —起使用的传感器的示例包含加速度计、石英传感器、陀螺仪、用作线性加速度计的微电子机械系统(MEMS)传感器以及磁力计。
[0044]移动装置202还可以包含用户界面110,其包含能够显示图像的显示器112。用户界面110还可以包含键盘114或其它输入装置,通过它们用户可以将信息输入至移动装置202中。根据需要,通过将虚拟键盘整合至具有触摸式传感器的显示器112中,键盘114可以被排除。例如,如果移动平台是蜂窝电话,则用户界面110还可以包含麦克风117以及一或多个扬声器118。当然,移动装置202可以包含与本发明无关的其它组件。
[0045]移动装置202进一步包含控制单元120,所述控制单元120与照相机108和传感器116,以及用户界面110,连同任何其它所需的功能连接并通信。控制单元120可以通过一或多个处理器122和相关联存储器/存储装置124提供。控制单元120也可以包含软件126以及硬件128和固件130。控制单元120包含SLAM环境生成模块132,所述SLAM环境生成模块132经配置以基于移动装置202所捕获的信息生成SLAM地图。控制单元120进一步包含基于客户端-服务器的动态搜索模块134,所述基于客户端-服务器的动态搜索模块经配置以检测感兴趣的对象并经配置以确定或跟踪移动装置202相对于感兴趣对象的位姿。为了清晰起见,SLAM环境生成模块132和基于客户端-服务器的动态搜索模块134与处理器122和/或硬件128分别说明,但可以基于软件126和固件130中的指令在处理器122和/或硬件128中进行组合和/或实施。应注意,控制单元120可以经配置以实施执行基于客户端-服务器的动态搜索的方法。例如,控制单元120可以经配置以实施图2、图3和图6A-6B中所述的移动装置202的功能。
[0046]图5示出了根据本发明一些方面用于执行基于客户端-服务器搜索的服务器的框图。在图5所示的示例中,服务器206包含一或多个处理器502、网络接口 504、SLAM地图数据库506、SLAM地图搜索模块508以及存储器510。一或多个处理器502可以经配置以控制服务器206的操作。网络接口 504可以经配置以与网络(未示出)通信,所述网络可以经配置以与其它服务器、计算机和移动装置通信。SLAM地图数据库506可以经配置以存储不同地点、地标、地图以及其它用户定义的信息的SLAM地图。SLAM地图搜索模块508可以经配置以使用SLAM地图数据库506实施执行基于客户端-服务器的动态搜索的方法。例如,SLAM地图搜索模块508可以经配置以实施在图2、图3和图6A-6B中所述的服务器206的功能。存储器510可以经配置以存储用于服务器206的程序代码、指令和数据。
[0047]根据本发明的实施例,SLAM地图数据库506可以以空间方式组织。对于每一个对象,移动装置定向可以使用在移动装置中嵌入的传感器来确定。在搜索SLAM地图数据库506方面,所述方法可首先专注于搜索移动装置定向邻居内的地图点。在另一种方法中,搜索可以专注于匹配移动装置所捕获对象的地图点,并使用初始搜索结果来辅助SLAM地图数据库的后继搜索。在另一种方法中,可以通过使用由GPS、A-GPS或Skyhook式WiFi位置获取的大致位置信息来辅助搜索SLAM地图数据库。可以施用如上所述的各种方法以改善对SLAM地图数据库中对象的搜索效率。
[0048]图6A和图6B示出了根据本发明一些方面执行基于客户端-服务器的搜索的示例性方法。根据本发明的一些方面,对象识别方法示于图6A中,而跟踪方法示于图6B中。应注意,在图6A和图6B中描述的方法可以由移动装置202并行执行。虽然在图6A和图6B中所示的某些框块执行相同方法(因而用相同的数字标记),但是出于图示的目的,所述方法的流程图被分别示出。在其它实施方案中,两个流程图可以组合形成单个的流程图。
[0049]参考图6A,在方框602中,控制单元120可以经配置以经由一或多个无线通信协议从移动装置202的照相机108接收一或多个图像或从其它装置接收一或多个图像。根据本发明的各个方面,可以间断地或连续地接收图像。在方框604中,控制单元120可以经配置以跟踪移动装置。例如,控制单元120可以经配置以跟踪移动装置相对于环境原点的移动,并确定移动装置已相对于环境原点移动。此外,控制单元120可以经配置以确定移动装置是否已经旋转超过预定角度,和/或确定移动装置是否已经平移超过预定距离。在方框605中,控制单元120可以经配置以确定是否更新SLAM地图。如果确定更新SLAM地图(605_是),则方法前进到方框606。相反地,如果确定不更新SLAM地图(605_否),则方法返回到方框602。
[0050]在方框606中,控制单元120可以经配置以使用接收到的一或多个图像来生成或更新环境的SLAM地图。根据本发明的各个方面,SLAM地图可以包含表示环境的三维坐标系统中的多个表面的多个地图点。多个地图点可以包括移动装置从不同角度捕获到的多个表面的视图。在一些实施方案中,多个地图点中的每个地图点包括三维位置、三维位置的一或多个描述符以及三维位置的对应表面法线。一或多个描述符的示例可以包括一组尺度不变的特征变换(SIFT)描述符和多个表面的表面法线,和/或一组加速稳健特征(SURF)描述符和多个表面的表面法线。在一些其它实施方案中,多个地图点中的每个地图点包括来自与地图点的法线方向正交的方向的表示。
[0051]根据本发明的各个方面,控制单元120可以经配置以响应于移动装置的移动来识别由移动装置捕获的增量地图点;使用由移动装置捕获的增量地图点来生成环境的更新的同时定位与测绘;以及将由移动装置捕获的增量地图点在更新的搜索查询中发送到服务器。应注意,环境的更新的同时定位与测绘包含比从移动装置的角度看的环境的视场更大的环境的视图;且其中环境的原点在移动装置的视场之外。
[0052]在方框608中,控制单元120可以经配置以将一组多个地图点作为搜索查询而发送到服务器。在方框609中,控制单元120可以经配置以确定是否存在来自服务器206的响应。如果存在响应(609_是),则方法前进到方框610。相反地,如果无响应(609_否),则方法返回到方框602。在方框610中,控制单元120可以经配置以从服务器206接收查询响应。在方框612中,控制单元120可以经配置以将正在被搜索的对象登记到SLAM地图。
[0053]参考图6B,注意方框中的一些与图6A中描述的方框相同,并且因此图6A中提供的相同方框的描述也可以适用于图6B中的相同方框。为简便起见,下面结合图6B描述相同的方框,以保持方法的整体结构。在方框602中,控制单元120可以经配置以经由一或多个无线通信协议从移动装置202的照相机108接收一或多个图像或从其它装置接收一或多个图像。在方框604中,控制单元120可以经配置以跟踪移动装置。
[0054]在方框609中,控制单元120可以经配置以确定是否存在来自服务器206的响应。如果存在响应(609_是),则方法前进到方框610。相反地,如果无响应(609_否),则方法返回到方框605。在方框610中,控制单元120可以经配置以接收来自服务器206的查询响应。在方框612中,控制单元120可以配置成将正在被搜索的对象登记到SLAM地图上。在方框605中,控制单元120可以经配置以确定是否更新SLAM地图。如果确定更新SLAM地图(605_是),则方法前进到方框606。相反地,如果确定不更新SLAM地图(605_否),则方法返回到方框614。在方框606中,控制单元120可以经配置以使用从服务器206接收的一或多个图像和/或采用查询响应生成或更新环境的SLAM地图。在方框608中,控制单元120可以经配置以将一组多个地图点作为搜索查询而发送到服务器。
[0055]在方框614中,控制单元120可以经配置以计算相对于SLAM地图环境的对象位姿。在一些实施方案中,控制单元120可以经配置以根据查询响应获得相对于环境原点的对象位姿,跟踪相对于环境原点的移动装置位姿,以及使用相对于环境原点的对象位姿和相对于环境原点的移动装置位姿来确定相对于对象的移动装置位姿。在方框616中,控制单元120可以经配置以使用方框614中所确定的对象位姿来呈现扩增。
[0056]应注意,流程图仅仅用于说明的目的。在一些其它实施方案中,流程图的方框可以被安排以形成其它的实施方案,例如,方框604的方法可以在方框606的方法之前、之后或与其并行进行。在一些其它的实施方案中,例如,方法可以从方框602前进到方框605,而不执行方框604的方法。
[0057]所公开的方法的一个好处是检测相似的目标。因为服务器上的SLAM地图数据库通常可能非常大,且可能包含许多视觉外观相似但不相同的对象。考虑到来自移动装置的搜索查询与这些视觉上相似的对象之一有关,因此服务器可以能够成功地识别正确的对象。然而,采用传统搜索系统(其使用驻留在本地移动装置的检测数据库),很可能检测到具有相似外观的错误对象。如果本地数据库内存在具有真实对象的多个视觉上相似的对象,且对于客户端装置而言这些视觉上相似的对象可能不是真实对象时,则这种错误检测的可能性会变大。
[0058]在图1所示的常规方法中,只要移动装置在服务器数据库中不具有所有对象的数据,则可能无法保证数据库中的正确对象可以被检测出。这是因为希望对封闭情况
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1