一种室内定位方法及系统与流程

文档序号:17382795发布日期:2019-04-12 23:58阅读:172来源:国知局
一种室内定位方法及系统与流程

本申请涉及室内定位技术领域,尤其涉及一种室内定位方法及系统。



背景技术:

卫星导航系统信号在室内严重恶化,而普通的移动设备用户有80%~90%的时间在室内活动,而且通信量也有70%~80%是来自室内,因此基于移动设备的室内定位技术对于各类基于位置的服务至关重要,并在军用、商用、民用等领域呈现广阔的应用前景和巨大的市场价值。

按照物理特性,现存的室内定位技术可以分为五大类:惯性导航、超声波定位、室内无线定位、卫星/伪卫星定位、光学定位。以上五种室内定位技术,有的可以不依赖外部设备,直接在移动设备上实现,有的则需要借助外部发射器等设备或者相互组合从而实现不同精度需求的定位。其中光学定位包括计算机视觉定位、红外线定位、激光定位、专用照明系统定位等。其中视觉定位是使用各种成像系统(单目视觉、双目立体视觉、多目视觉、全景视觉、移动视觉等)来代替视觉器官作为输入手段,通过图像匹配算法使计算机理解和感知外部环境。

值得注意的是,由于用户在室内环境中不断变换姿态,会使采集到的图像具有不同的特征,且复杂多变的外界环境带来的图像噪声、模糊、光照的变化等困难始终影响着室内视觉定位算法的稳定性。同时,仅要求准确地提取图像特征点是远远不够的,由于移动设备的流量、计算、存储资源有限,如果不能快速及时地匹配特征点,就会使系统失去实时性,影响定位精度。

google的tango技术实现主要通过为移动设备配备特殊的硬件模组,如专门的视觉计算芯片、摄像头、深度摄像头和传感器,配合移动追踪、区域学习、深度感知等算法,实现高精度的定位。但是,tango技术对硬件的要求过高,不适应目前的移动设备应用。



技术实现要素:

本申请的多个方面提供一种室内定位方法及系统,以解决现有技术中实时性和定位精度差的问题。

本申请实施例提供一种室内定位系统,包括:移动终端和地图服务器;

所述移动终端用于:

采集二维码信息和图像特征信息,并将所述二维码信息和所述图像特征信息发送至所述地图服务器;

得到视觉里程计定位结果;

根据视觉里程计定位结果和地图服务器的移动视觉搜索定位结果显示最终定位结果;

所述地图服务器用于:

基于所述二维码信息和图像特征信息,生成所述地图服务器的移动视觉搜索定位结果。

进一步的,所述移动终端包括二维码扫描模块、视觉传感器模块、视觉里程计模块、移动终端移动视觉搜索模块、融合定位模块和定位显示模块;

所述二维码扫描模块用于:扫描二维码,获得二维码信息;

所述视觉传感器模块用于:采集视觉图像,获得图像序列;

所述视觉里程计模块用于:

提取所述图像序列的图像特征信息;

对所述图像特征信息进行采样,得到采样信息;

根据所述图像序列获得视觉里程计定位结果;

所述移动终端移动视觉搜索模块用于:将所述采样信息进行编码后传递给所述地图服务器;

所述融合定位模块用于:根据所述地图服务器的移动视觉搜索定位结果对所述视觉里程计定位结果进行修正;

所述定位显示模块用于:显示最终定位结果。

进一步的,所述地图服务器包括二维码区域定位模块、服务器端移动视觉搜索模块和数据库;

所述二维码区域定位模块用于:根据所述二维码信息判断定位的初始区域位置并提供区域码;

所述服务器端移动视觉搜索模块用于:根据所述采样信息进行匹配定位,得到移动视觉搜索定位结果;

所述数据库用于:根据所述区域码,调取区域图片给所述服务器端移动视觉搜索模块。

进一步的,所述视觉里程计模块包括特征检测模块、采样模块、标定模块、特征匹配模块、运动估计模块和位置优化模块;

所述特征检测模块用于:对所述图像序列提取图像特征信息;

所述采样模块用于:对所述图像特征信息进行采样,并将采样数据传递给所述移动终端移动视觉搜索模块;

所述标定模块用于:对来自所述视觉传感器模块的图像序列的第一帧进行标定设置为关键帧;

所述特征匹配模块用于:对所述特征检测模块提取到的前后帧图像的点特征进行匹配;

所述运动估计模块用于:将所述特征匹配模块匹配得到的前后帧图像的同一点映像到三维坐标系,从而估计出里程数据;

所述位置优化模块用于:根据估计出的移动设备终端的里程数据更新当前运动轨迹。

进一步的,所述移动终端移动视觉搜索模块包括描述子提取模块和描述子编码模块;

所述描述子提取模块用于:提取所述采样数据所生成的特征描述子;

所述描述子编码模块用于:把生成的所述特征描述子编码。

进一步的,所述服务器端移动视觉搜索模块包括描述子解码模块、描述子匹配模块和定位模块;

所述描述子解码模块用于:将所述特征描述子编码进行解码;

所述描述子匹配模块用于:将解码后的特征描述子与所述数据库中调取好的区域图片数据进行匹配;

所述定位模块用于:根据匹配的图片确定具体位置。

本申请实施例还提供一种室内定位方法,包括:

建立二维码位置库和数据库;

获二维码信息和图像序列,并根据所述图像序列得到图像特征信息;

根据所述二维码信息和所述图像特征信息,得到移动视觉搜索定位结果。

进一步的,该方法还包括根据所述图像序列得到视觉里程计定位结果,并根据所述移动视觉搜索定位结果对所述视觉里程计定位结果进行修正,并显示最终定位结果。

进一步的,所述建立二维码位置库和地图服务器数据库包括:

预先在关键位置部署二维码,建立所述二维码位置库;

绕室内路径采集关键点图像,并记录关键点位置,将关键点图像和关键点位置部署到所述数据库中。

进一步的,所述根据所述图像序列得到图像特征包括:将采集到连续的所述图像序列提取图像特征,并对所述图像特征进行采样。

进一步的,所述根据所述二维码信息和所述图像特征,得到移动视觉搜索定位结果包括:根据所述二维码信息,调整视觉搜索范围,并根据所述图像特征信息在所述视觉搜索范围进行图像匹配定位,得到所述移动视觉搜索定位结果。

在本申请实施例中,首先利用部署在关键位置(如楼层楼梯口、展厅入口等)的二维码识别区域位置,缩小移动视觉搜索的范围,提高运算效率以及算法的硬件资源占用率,并利用移动视觉搜索定位结果对视觉里程计算法的累积误差进行修正,提高定位精度。获得实时、高精度的移动设备室内定位。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一实施例提供的一种室内定位系统结构示意图;

图2本申请实施例中视觉里程计模块的而结构示意图;

图3本申请实施例中移动终端移动视觉搜索模块和服务器端移动视觉搜索模块的结构示意图;

图4为本申请一实施例提供的一种室内定位方法的工作流程图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请一实施例提供的室内定位系统的结构示意图。如图1所示,该系统包括:移动终端10和地图服务器20;

移动终端10用于:

采集二维码信息和图像特征信息,并将二维码信息和图像特征信息发送至地图服务器20;

根据图像序列得到视觉里程计定位结果;

根据视觉里程计定位结果和地图服务器20的移动视觉搜索定位结果显示最终定位结果,地图服务器20的移动视觉搜索定位结果起到对视觉里程计定位结果进行修正的作用;

地图服务器20用于:

基于二维码信息和图像特征信息,生成地图服务器20的移动视觉搜索定位结果。基于二维码信息,调整视觉搜索范围,并根据图像特征信息在视觉搜索范围进行图像匹配定位,生成地图服务器20的移动视觉搜索定位结果,并将地图服务器20的移动视觉搜索定位结果反馈给移动终端10。

移动终端10采集二维码信息和图像序列,并对图像提取图像特征信息,并将二维码信息和图像特征信息发送至地图服务器20;移动终端10根据图像序列得到视觉里程计定位结果;地图服务器20基于二维码信息,调整视觉搜索范围,并根据图像特征信息在视觉搜索范围进行图像匹配定位,生成地图服务器20的移动视觉搜索定位结果,并将地图服务器20的移动视觉搜索定位结果反馈给移动终端10;地图服务器20的移动视觉搜索定位结果在移动终端10内对视觉里程计定位结果进行修正,并显示最终定位结果。

本实施例提供的室内定位系统,可应用于各种室内场景,例如,商场、展厅等,本实施例对此不作限定。

移动终端10包括二维码扫描模块30、视觉传感器模块40、视觉里程计模块50、移动终端移动视觉搜索模块80、融合定位模块60和定位显示模块70;

二维码扫描模块30用于:扫描二维码,获得二维码信息;并通过无线传输的方式传递给地图服务器20中的二维码区域定位模块100。

视觉传感器模块40用于:采集视觉图像,获得图像序列;并将图像序列发送给视觉里程计模板。

视觉里程计模块50用于:

提取图像序列的图像特征信息;

对图像特征信息进行采样,得到采样信息;

根据图像序列获得视觉里程计定位结果;并将视觉里程计定位结果发送给融合定位模块60。

移动终端移动视觉搜索模块80用于:将采样信息进行编码后,通过无线传输方式传递给地图服务器20中的服务器端移动视觉搜索模块90;

融合定位模块60用于:根据地图服务器20的移动视觉搜索定位结果对视觉里程计定位结果进行修正;

定位显示模块70用于:显示最终定位结果。

地图服务器20包括二维码区域定位模块100、服务器端移动视觉搜索模块90和数据库110;

二维码区域定位模块100用于:根据二维码信息判断定位的初始区域位置并提供区域码;

数据库110用于:根据区域码调整搜索范围调整到定位的初始区域位置一定地理范围内的区域,调取区域图片给服务器端移动视觉搜索模块90。

服务器端移动视觉搜索模块90用于:根据采样信息在调取区域图片中进行匹配定位,得到移动视觉搜索定位结果;

移动终端10通过二维码扫描模块30对二维码进行扫描,获得二维码信息,并通过无线传输的方式传递给地图服务器20的二维码区域定位模块100,由二维码区域定位模块100判断出定位的初始区域位置(如某一楼层的楼梯口或某一个展厅的入口),并提供该初始区域位置的区域码,将区域码发送给数据库110,数据库110将视觉搜索范围调整到二维码定位的初始位置一定地理范围内的区域。二维码扫描模块30在检测到二维码的同时,启动视觉传感器模块40开始采集视觉图像,并将采集到的图像序列发给视觉里程计模块50。

视觉里程计模块50将检测到的图像特征进行采样后发送给移动终端移动视觉搜索模块80。移动终端移动视觉搜索模块80将图像特征信息进行编码后,通过无线传输传递给位于服务器端移动视觉搜索模块90。数据库110只按照二维码区域定位模块100提供的区域码,调取区域图片给服务器端移动视觉搜索模块90用于图像匹配定位,从而大大缩短了移动视觉搜索的时间。服务器端移动视觉搜索模块90将定位结果发送给融合定位模块60。

视觉里程计模块50根据来自视觉传感器模块40的图像序列进行定位,并将定位结果发送给融合定位模块60。

融合定位模块60根据移动视觉搜索定位的采样时间和定位结果对视觉里程计定位的结果进行修正,并通过定位显示模块70显示最终定位结果。

本实施例中的无线传输方式,可以接入基于通信标准的无线网络,如wifi,2g或3g等,或它们的组合,还可以是近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

如图2所示,视觉里程计模块50包括特征检测模块51、采样模块52、标定模块54、特征匹配模块53、运动估计模块55和位置优化模块56;

特征检测模块51用于:对图像序列提取图像特征信息;

采样模块52用于:按照每十秒一帧的速度对图像特征信息进行采样,并将采样数据传递给移动终端移动视觉搜索模块80;

标定模块54用于:对来自视觉传感器模块40的图像序列的第一帧进行标定设置为关键帧。

特征匹配模块53用于:对特征检测模块51提取到的前后帧图像的点特征进行匹配。

运动估计模块55用于:将特征匹配模块63匹配得到的前后帧图像的同一点映像到三维坐标系,从而估计出这一段时间内移动终端10的运动轨迹里程数据

位置优化模块56用于:根据估计出的移动设备终端的里程数据更新当前运动轨迹。

描述视觉里程计模块50的工作流程:首先,程序启动后等待第一帧抵达,将第一帧进行标定设置为关键帧。之后,在帧与帧之间进行特征匹配。匹配成功后,与标定的关键帧结合估计出运动距离,经过位置优化模块56更新运动轨迹,得到最优位置。其中,按照每十秒一帧的速度对特征检测模块51提取的图像特征点进行采样,并将采样的数据传输给服务器端移动视觉搜索模块90,进行后续的位置校正。

如图3所示,移动终端移动视觉搜索模块80包括描述子提取模块81和描述子编码模块82;

描述子提取模块81用于:提取采样数据所生成特征描述子。

描述子编码模块82用于:把生成的特征描述子编码。

服务器端移动视觉搜索模块90包括描述子解码模块91、描述子匹配模块92和定位模块;

描述子解码模块91用于:将移动终端移动视觉搜索模块80传输过来的信息解码。

描述子匹配模块92用于:将解码后的特征描述子与数据库110中调取好的区域图片数据进行匹配。

定位模块93用于:根据匹配的最优图片确定具体位置。

描述移动终端移动视觉搜索模块80和服务器端移动视觉搜索模的工作流程:首先,将接收的视觉里程计模块50采样的图片进行描述子提取,再将信息编码通过无线网络传输到服务器端移动视觉搜索模块90。服务器端移动视觉搜索模块90将传输来的信息解码并与数据库110调取好的图片数据进行匹配,得到定位结果。最后,将定位结果发送给融合定位模块60。

移动视觉搜索模块采用surf(speededuprobustfeatures,加速稳健特征)算法进行特征点检测与匹配。surf算法的特征检测为对积分图像的加减运算,根据统计的特征点领域内的harr小波特征确定特征点的主方向,每个特征点生成64维特征向量。其算法具体流程如下:

(1)构建hessian矩阵(surf算法核心),生成所有的兴趣点,用于特征的提取,对于一个图像f(x,y)hessian矩阵如下:

(2)构建尺度空间;(3)特征点定位;(4)特征点主方向分配;(5)生成特征点描述子;(6)特征点匹配。

视觉里程计的目标是根据拍摄的图像分析处理相关图像序列从而估计移动终端10的运动,来确定移动设备的位置信息。视觉里程计模块50的特征检测模块51对图像进行特征检测,并将检测到的图像特征传递给采样模块52。采样模块52按照每十秒采样一帧图像特征的速度采样,并将采样到的图像特征传递给移动视觉搜索模块。此位置信息与移动搜索得到的位置信息经过位置融合模块得到更精确地位置信息。最后将定位结果显示到用户的移动设备上。

特征检测模块51对视觉传感器模块40采集到的连续图像序列提取图像特征点。

采样模块52,按照每十秒一帧的速度,对特征检测模块51提取的图像特征点进行采样,并将数据传递给移动视觉搜索模块。

特征匹配模块63对特征检测模块51提取到的前后帧图像的点特征进行匹配。

运动估计模块55将模块匹配得到的前后帧图像的同一点映像到三维坐标系,从而估计出这一段时间内移动终端10的运动轨迹和的里程数据。

视觉里程计模块50采用复杂度低、检测效果好的fast(featuresfromacceleratedsegmenttest)算法进行特征点检测。fast算法首先进行角点检测。角点判断依据:对于检测点p,若周围的16个像素点中有n个连续的点的像素值都比其小一个阈值或大一个阈值。

再通过非极大值抑制。根据得分函数求得每个角点得分,得分函数的规则为:周围16个点中最大的连续10个点的绝对值差的最小值,且满足x>t的值即为得分;再在3x3的区域中比较得分,选取分值最大的那个点。其中得分计算公式如下:

v表示得分,t表示阈值。

fast算法具体检测步骤:

(1)在圆周上的部分像素点上,进行非角点的检测;

(2)如果初步判断是角点,则在圆周上的全部像素点上进行角点检测;

(3)对角点进行非极大值抑制,得到角点输出。

图4为本申请一实施例提供的室内定位方法的流程示意图。如图4所示,该方法包括:

401、建立二维码位置库和数据库110;

建立二维码位置库和地图服务器20数据库110包括:

预先在关键位置(如楼层楼梯口、展厅入口等)部署二维码,建立二维码位置库;

用激光测距、高精度摄像头等设备绕室内路径采集关键点图像,并记录关键点位置,将关键点图像和关键点位置部署到数据库110中。

402、获二维码信息和图像序列,并根据图像序列得到图像特征信息;

根据图像序列得到图像特征包括:将采集到连续的图像序列提取图像特征,并对图像特征进行采样。

403、根据二维码信息和图像特征信息,得到移动视觉搜索定位结果。

根据二维码信息,调整视觉搜索范围,并根据图像特征信息在视觉搜索范围进行图像匹配定位,得到移动视觉搜索定位结果。

该方法还包括:

404、根据图像序列得到视觉里程计定位结果,并根据移动视觉搜索定位结果对视觉里程计定位结果进行修正,并显示最终定位结果。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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