CN106989747B - 一种基于室内平面图的自主导航系统 - Google Patents
一种基于室内平面图的自主导航系统 Download PDFInfo
- Publication number
- CN106989747B CN106989747B CN201710196676.6A CN201710196676A CN106989747B CN 106989747 B CN106989747 B CN 106989747B CN 201710196676 A CN201710196676 A CN 201710196676A CN 106989747 B CN106989747 B CN 106989747B
- Authority
- CN
- China
- Prior art keywords
- user
- navigation
- path
- map
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
Abstract
本发明公开一种基于室内平面图的自主导航系统,该系统包括地图翻译模块和导航模块。本发明利用智能终端如手机、平板等拍摄室内地图的照片,计算出地图中的相关物理信息如比例尺和方向;地图翻译模块提取道路,规划路径;导航模块根据规划的路径将用户信息与路径关联,指引用户到达目的地。本发明不需要预先收集信息或预先部署基础设施,利用生活中广泛存在的室内地图,充分挖潜已有室内地图中的信息,结合智能终端自带的手机传感器,提供端到端精确室内导航服务。
Description
技术领域
本发明涉及室内导航技术领域,尤其涉及一种基于室内平面图的自主导航系统。
背景技术
随着城市现代化程度的不断提高,大型建筑物的数量日益增长,室内空间的物理布局也越来越复杂。因此,人们对于室内导航服务的需求显著增长。室外导航早已被广泛应用于日常生活中,但是室内环境复杂多变,传统的室外导航模式无法应用于室内环境中。所以,室内导航仍处于研究阶段,没有一种广泛应用的室内导航系统。
目前,已有的室内导航系统大多基于室内定位来构建室内地图。然而,这些室内导航的方法,需要预先部署基础设施(例如,WSNs,WiFi)或提前收集大量信息(例如,图像,地磁场)。预先部署的要求,导致使用这种导航系统的开销很大,极大地阻碍了其推广应用。众包是一种广泛收集信息的方法,但是需要解决激励和隐私问题。即使能够预先收集到信息,后期对信息进行更新维护的成本也很大,这大大限制了它的适用性。此外,很多系统虽然成功构建出室内地图,但是并没有能够充分挖掘地图中的有效信息。因此,对于室内导航如何有效使用地图信息才是一个根本性的问题。
我们认为,预先部署并不是必须的,甚至可以假设室内地图已知,如何有效利用地图信息才是室内导航的关键所在。我们还发现地图信息可以通过多种方式获得,比如通过室内定位构造室内指导图,或者直接从谷歌地图、购物中心的网站上获得室内指示图。但是,目前这些地图只是用作一般的视觉指导,而不能提供实时的室内导航服务。
发明内容
本发明的目的在于通过一种基于室内平面图的自主导航系统,来解决以上背景技术部分提到的问题。
为达此目的,本发明采用以下技术方案:
一种基于室内平面图的自主导航系统,其包括地图翻译模块和导航模块;所述地图翻译模块用于:一、通过路径提取部件和名称提取部件从地图照片中提取导航地图的结构化信息,其中,所述结构化信息包括但不限于道路和店铺名称;二、通过用户状态估计组件输出相关用户状态信息,其中,所述用户状态估计组件包括但不限于智能终端内的指南针、加速度计及陀螺仪,所述相关用户状态信息包括但不限于用户步数和用户朝向;三、通过所述用户状态估计组件和地图提取组件获得导航地图;所述导航模块用于:一、在用户指定目的地后,通过路径规划器规划出一条从用户当前位置到达目的地的导航路径;并根据所述用户状态估计组件输入的相关用户状态信息和所述导航路径,确定导航路径上用户的相对位置;二、确定导航路径中距离每个转弯的步数。
特别地,所述通过路径提取部件和名称提取部件从地图照片中提取导航地图的结构化信息,包括:道路提取:一、将地图照片Im转化为灰度图;二、对Im中的每个像素p,得到其对应的灰度值gp;三、如果|gp-gini|<δcol,则将该像素点处的颜色设置为黑色,否则设置为白色,其中,gini为触摸点pini的灰度值,触摸点pini由用户触摸智能终端屏幕中任意道路点获得,δcol为衡量gp与gini是否相近的而设置的阈值;四、判断Im中的每个黑色像素pb与触摸点pini是否连通,若不连通,则该像素点处的颜色设置为白色;五、通过快速并行细化算法对Im中的道路区域进行细化,提取道路骨架;六、遍历Im中所有的黑色像素建立无向图Gp;通过检测包含文本的矩形区域来计算店铺位置:一、采用MSER算法,输出代表店铺的文本矩形,并记录文本矩形左上角和右下角的坐标以标识店铺位置;二、根据检测出的文本矩形的坐标,提取其限定的子图像,并将子图像转换为二值化图像。
特别地,所述根据检测出的文本矩形的坐标,提取其限定的子图像,并将子图像转换为二值化图像,包括:一、采用OpenCV的基于局部自适应阈值算法对子图像进行二值化处理,获得二值化图像;二、使用Tesseract-OCR识别二值化图像中的文本内容;三、将所述文本内容作为店铺位置查询的索引。
特别地,所述通过所述用户状态估计组件和地图提取组件获得导航地图,包括:地图匹配:一、采用上述计算店铺位置的方法检测并识别地图照片中的店铺名称;二、完成一次从一个店铺走到另一个店铺的校准行走,通过用户输入或识别拍摄的店铺照片获得两个店铺的位置S1和S2,其中S1是起始店铺位置,S2是结束店铺位置;三、利用两个店铺的位置S1和S2的坐标,在道路中识别出对应的起点ps和终点pe:计算出矩形的中心点坐标C(S1),C(S2);该校准算法需要满足三个限制条件:首先,向量和向量不相交,其次, 均垂直于向量最后,和的距离之和最小;从道路中距离坐标(0,0)最近的点p0开始,使用DFS(深度优先搜索)算法遍历所有道路像素,找出满足上述三个限制条件的起点ps和终点pe,并选择满足p0到的垂直距离最小的ps和pe,根据起点ps和终点pe的坐标计算出步行的像素距离l(ps,pe)和朝向
Sca=l(ps,pe)/w
特别地,所述通过路径规划器规划出一条从用户当前位置到达目的地的导航路径中,所述用户当前位置即导航的起点的定位包括:用户拍摄包含附近店铺名称的照片,通过识别照片提取出店铺名称的文本,并在导航地图上使用文本匹配查询店铺坐标;根据店铺矩形Ss,计算矩形中心的坐标为c(Ss);当用户正在拍照时,脸的朝向与智能终端z轴在地球坐标下的投影方向相反,同理计算智能终端Y轴在地球坐标下的方向;通过智能终端的指南针和加速度计得到用户在地球坐标系下的拍摄方向δ,然后,遍历路径上的所有点,找到满足下式的用户站立点ps作为导航的起点:
特别地,所述在用户指定目的地后,通过路径规划器规划出一条从用户当前位置到达目的地的导航路径,并根据所述用户状态估计组件输入的相关用户状态信息和所述导航路径,确定导航路径上用户的相对位置;确定导航路径中距离每个转弯的步数,包括:确定用户当前位置即导航的起点后,需用户输入目的地店铺Sd的名称,然后查询目的地店铺Sd的坐标,并获得店铺矩形的中心c(Sd);遍历导航地图道路上的所有点,找到距离c(Sd)最近的点pd即导航的终点,查询条件如下:
获得导航的起点和导航的终点后,使用Dijkstra算法计算出最短路径Lp;路径Lp上的点被表示为{p0,p1,...,pn};遍历Lp中的所有路径点找到转弯位置;为了减少计算量,对于路径所在的曲线,采用Ramer-Douglas-Peucker算法减少路径中点的个数,保持原始路径上的点到新路径的距离小于阈值ε,初始时刻,将p0和pn纳入在新路径的中,然后,如果pk到线段p0pn的距离比ε大,则将pk纳入中;对于p0pk和pkpn,迭代地划分线段直到Lp中没有点到新的路径段的距离大于ε;新的路径由这m个点组成,对于路径中的任一点计算和之间的夹角θi;设置拐角的角度阈值为mini_angle,即当θi大于mini_angle时,该点才是拐点;给定用户在Δt时间内的行走步数wt,每一步的朝向计算出用户在Δt内移动的像素距离:
根据计算出的lp(Δt),更新用户行走的轨迹并且给予提示,其中,提示的内容包括当前行走方向,下一个转弯的方向以及距离下一个转弯的步数。
特别地,所述导航模块在开始导航前,用户需要对智能终端的指南针进行八字校准;在导航期间,短时间Δt内,如果由智能终端的指南针和加速度计计算出的方向变化的差值小于阈值Δmax(θ),则使用指南针计算的瞬时方向表示行走方向,并重置陀螺仪的参考方向,否则,利用从陀螺仪计算出的方向作为步行方向,并通过道路宽度的边界检测陀螺仪累积误差的大小,确保用户必须在道路区域中行走,使得沿着垂直道路方向的累积步行长度应该被限制于道路区域中,在短时间Δt中,移动的长度lv(Δt)为:
设置阈值max_width表示垂直于道路方向上的最大距离的约束,当累积的lv大于max_width时,用户手动对指南针进行调整;
行走方向的调整过程如下:输入:原先的行走方向θ(t),由陀螺仪得到的行走方向θg(t+Δt),由加速度计和指南针得到的行走方向θc(t+Δt);输出:当前的行走方向θ(t+Δt);
如果||θg(t+Δt)-θ(t)|-|θc(t+Δt)-θ(t)||<Δmax(θ),则当前的行走方向θ(t+Δt)为:θ(t+Δt)=θc(t+Δt),并将陀螺仪的参考方向设置为θc(t+Δt);否则,当前的行走方向θ(t+Δt)为:θ(t+Δt)=θg(t+Δt)。
从而得到新的比例尺Scanew为
本发明提出的基于室内平面图的自主导航系统利用智能终端如手机、平板等拍摄室内地图的照片,计算出地图中的相关物理信息如比例尺和方向;提取道路,规划路径;根据规划的路径将用户信息与路径关联,指引用户到达目的地。本发明不需要预先收集信息或预先部署基础设施,利用生活中广泛存在的室内地图,充分挖潜已有室内地图中的信息,结合智能终端自带的手机传感器,提供端到端精确室内导航服务。
附图说明
图1为本发明实施例提供的基于室内平面图的自主导航系统架构图;
图2为本发明实施例提供的地图坐标系示意图;
图3为本发明实施例提供的手机坐标系示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容,除非另有定义,本文所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例,不是旨在于限制本发明。
请参照图1所示,图1为本发明实施例提供的基于室内平面图的自主导航系统架构图。
本实施例中基于室内平面图的自主导航系统具体包括地图翻译模块和导航模块。所述地图翻译模块用于:一、通过路径提取部件和名称提取部件从地图照片中提取导航地图的结构化信息,其中,所述结构化信息包括但不限于道路和店铺名称;二、通过用户状态估计组件输出相关用户状态信息,其中,所述用户状态估计组件包括但不限于智能终端内的指南针、加速度计及陀螺仪,所述相关用户状态信息包括但不限于用户步数和用户朝向;在本实施例中所述智能终端包括但不限于手机、平板电脑等;三、通过所述用户状态估计组件和地图提取组件获得导航地图;所述导航模块用于:一、在用户指定目的地后,通过路径规划器规划出一条从用户当前位置到达目的地的导航路径;并根据所述用户状态估计组件输入的相关用户状态信息和所述导航路径,确定导航路径上用户的相对位置;二、确定导航路径中距离每个转弯的步数。
在本实施例中地图翻译模块通过路径提取部件和名称提取部件从地图照片中提取导航地图的结构化信息,包括:
该步骤的目的是将一张平面图的照片转换成由道路和店铺组成的结构化的导航地图。具体来说,系统计算地图中道路像素点和店铺所在矩形的坐标。这里需要处理两个问题。首先,为了方便用户快速获取地图信息,实际地图中的道路通常很宽。然而为了结构化表示出道路的拓扑结构,必须保持道路宽度为1个像素,道路太宽不便于选择具有代表性的路径点。其次,系统主要依靠检测包含文本的矩形区域来计算店铺位置。但是地图中的文本可能存在模糊,大小和方向不统一的问题,因此,准确检测出文本矩形并不容易。此外,考虑到准备时间应尽可能短的要求,道路和文本检测必须做到实时完成。
在获得地图照片Im后,用户触摸智能终端屏幕中任意道路点,使得智能终端获得触摸点pini的坐标(xini,yini)。系统将Im转换为灰度图像,假设pini的灰度值为gini。然后,系统将Im转换为二值化图像,从而显式地将道路区域与其他区域区分开来。在理想情况下,道路区域的颜色是完全相同的。但是,考虑到Im上不同区域的光照情况可能存在差异,路径上的像素通常只是具有相似的颜色,而非完全相同。下述道路提取算法中步骤一至三,首先将灰度值和gini相近(以阈值δcol为界限)的所有像素设置为黑色,其他像素设置为白色。此外,在本实施例中认为地图中的道路是相互连通的。因此,下述道路提取算法中步骤四至六,所有不与pini连通的黑色像素被重新设置为白色。以得到的二值化图像作为输入,使用快速并行细化算法提取道路骨架,也就是将道路部分细化为1个像素宽,然后将其他黑色像素设置为白色。最后,从道路中的一点出发,利用DFS(深度优先搜索)将整个道路区域转化为无向图Gp。
道路提取算法具体流程如下:一、将地图照片Im转化为灰度图;二、对Im中的每个像素p,得到其对应的灰度值gp;三、如果|gp-gini|<δcol,则将该像素点处的颜色设置为黑色,否则设置为白色,其中,gini为触摸点pini的灰度值,触摸点pini由用户触摸智能终端屏幕中任意道路点获得,δcol为衡量gp与gini是否相近的而设置的阈值;四、判断Im中的每个黑色像素pb与触摸点pini是否连通,若不连通,则该像素点处的颜色设置为白色;五、通过快速并行细化算法对Im中的道路区域进行细化,提取道路骨架;具体的,所述快速并行细化算法通过两步迭代,逐步删除满足一定条件的点,直到两步中都没有像素被标记为删除为止,输出结果即为二值图像细化后的骨架;六、遍历Im中所有的黑色像素建立无向图Gp。
通过检测包含文本的矩形区域来计算店铺位置:一、采用MSER(Maximally StableExtremal Regions)算法,输出代表店铺的文本矩形,并记录文本矩形左上角和右下角的坐标以标识店铺位置;具体的,所述MSER算法使用一系列灰度阈值对图像进行二值化处理,对于每个阈值得到的二值图像,得到相应的黑色区域与白色区域,在比较宽的灰度阈值范围内保持形状稳定的区域就是MSERs。例如,给出矩形S,其坐标表示为二、根据检测出的文本矩形的坐标,提取其限定的子图像,并将子图像转换为二值化图像。考虑到子图像的不同部分的光照条件可能不同,本实施例中采用OpenCV的基于局部自适应阈值算法对子图像进行二值化处理,获得二值化图像;然后使用Tesseract-OCR识别二值化图像中的文本内容;最后将所述文本内容作为店铺位置查询的索引。其中,基于局部自适应阈值算法是根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。这样做的好处在于每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。常用的局部自适应阈值有:1)局部邻域块的均值;2)局部邻域块的高斯加权和。本发明选用后者作为自适应阈值。Tesseract-OCR是开源的OCR识别引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言。初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。
在本实施例中地图翻译模块通过所述用户状态估计组件和地图提取组件获得导航地图,包括:地图匹配:一、采用上述计算店铺位置的方法检测并识别地图照片中的店铺名称;然而,Tesseract可能只能正确地识别出部分文本字符串,所以在本实施例中采用Levenshtein距离算法匹配进行模糊匹配,从之前提取的所有店铺名称中找到最相似的文本字符串作为结果。比如,当用户通过拍摄店铺照片或输入店铺名称来查找店铺位置时,可以返回包含最相似文本的矩形作为此时查询的店铺的位置,也就是用户的位置。二、前期,用户需要完成一次从一个店铺走到另一个店铺的校准行走,通过用户输入或识别拍摄的店铺照片获得两个店铺的位置S1和S2,其中S1是起始店铺位置,S2是结束店铺位置;三、利用两个店铺的位置S1和S2的坐标,在道路中识别出对应的起点ps和终点pe:如图2所示,计算出矩形的中心点坐标C(S1),C(S2);该校准算法需要满足三个限制条件:首先,向量和向量不相交,其次,均垂直于向量最后,和的距离之和最小,这一点用来保证用户距离店铺很近;从道路中距离坐标(0,0)最近的点p0开始,使用DFS(深度优先搜索)算法遍历所有道路像素,找出满足上述三个限制条件的起点ps和终点pe,并选择满足p0到的垂直距离最小的ps和pe,根据起点ps和终点pe的坐标计算出步行的像素距离l(ps,pe)和朝向
Sca=l(ps,pe)/w
在本实施例中导航模块通过路径规划器规划出一条从用户当前位置到达目的地的导航路径中,所述用户当前位置即导航的起点的定位包括:用户拍摄包含附近店铺名称的照片,通过识别照片提取出店铺名称的文本,并在导航地图上使用文本匹配查询店铺坐标;根据店铺矩形Ss,计算矩形中心的坐标为c(Ss);当用户正在拍照时,脸的朝向与智能终端z轴在地球坐标下的投影方向相反,同理计算智能终端Y轴在地球坐标下的方向;通过智能终端的指南针和加速度计得到用户在地球坐标系下的拍摄方向δ,然后,遍历路径上的所有点,找到满足下式的用户站立点ps作为导航的起点:
即最小化计算出的地球坐标系下的拍摄方向和使用传感器测得的拍摄方向δ之间的角度误差。因为地图本身可能并不是上北下南,所以Ang为之前计算出来的地图的初始朝向(即地图坐标系下的正北方向与地球坐标系下的正北方向的夹角),Theta角为测量出来的拍摄方向,转化到实际的地图坐标系下要减去Ang,计算该值和传感器测得的拍摄朝向之间的差,使其最小。
在本实施例中导航模块在用户指定目的地后,通过路径规划器规划出一条从用户当前位置到达目的地的导航路径,并根据所述用户状态估计组件输入的相关用户状态信息和所述导航路径,确定导航路径上用户的相对位置;确定导航路径中距离每个转弯的步数,具体过程包括:确定用户当前位置即导航的起点后,需用户输入目的地店铺Sd的名称,然后查询目的地店铺Sd的坐标,并获得店铺矩形的中心c(Sd);遍历导航地图道路上的所有点,找到距离c(Sd)最近的点pd即导航的终点,查询条件如下:
获得导航的起点和导航的终点后,使用Dijkstra算法计算出最短路径Lp,其中,该算法是寻找最短路径的一种搜索算法,由荷兰计算机科学家狄克斯特拉于1959年提提出,通过为每个节点保留目前为止所找到的从s到e的最短路径,为了记录最佳路径轨迹,记录路径上每个节点的前趋,通过回溯法找出最短路径轨迹。路径Lp上的点被表示为{p0,p1,...,pn};遍历Lp中的所有路径点找到转弯位置;为了减少计算量,对于路径所在的曲线,采用Ramer-Douglas-Peucker算法减少路径中点的个数,其中,Ramer-Douglas-Peucker算法的基本思路是:对曲线的首末点虚连一条直线,求曲线上的所有点与直线的距离,并找出最大距离值dmax,用dmax与阈值ε相比:若dmax<ε,这条曲线上的中间点全部舍去;若dmax≥ε,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法。应用该算法,保持原始路径上的点到新路径的距离小于阈值ε,初始时刻,将p0和pn纳入在新路径的中,然后,如果pk到线段p0pn的距离比ε大,则将pk纳入中;对于p0pk和pkpn,迭代地划分线段直到Lp中没有点到新的路径段的距离大于ε;新的路径由这m个点组成,对于路径中的任一点计算和之间的夹角θi;设置拐角的角度阈值为mini_angle,即当θi大于mini_angle时,该点才是拐点;给定用户在Δt时间内的行走步数wt,每一步的朝向计算出用户在Δt内移动的像素距离:
根据计算出的lp(Δt),更新用户行走的轨迹并且给予导航提示,其中,提示的内容包括当前行走方向,下一个转弯的方向以及距离下一个转弯的步数。
所述导航模块在开始导航前,用户需要对智能终端的指南针进行八字校准。但由于不同位置的磁场干扰不同,在用户行走过程依然可能出现指南针指示方向的误差。错误行走方向将会导致移动的像素距离的不准确估计。
在导航期间,依靠用户不断地对指南针进行手动校准是不可行的。因此,需要依靠陀螺仪自动调整行走方向。行走过程中,手机的方向变化通常在陀螺仪的安全范围内。因此,与指南针相比,在短时间内陀螺仪可以提供更精确的手机方向变化的估计。使用陀螺仪,在给定初始方向的基础上,可以通过对短时间的方向变化进行积分来估计瞬时朝向。因此,从陀螺仪导出的朝向估计误差在长时间的步行中会不断累积。
指南针校准的基本思想是,短时间Δt内,如果由智能终端的指南针和加速度计计算出的方向变化的差值小于阈值Δmax(θ),则使用指南针计算的瞬时方向表示行走方向,并重置陀螺仪的参考方向,否则,利用从陀螺仪计算出的方向作为步行方向,但是一旦陀螺仪的参考方向长时间不被校准,则陀螺仪的累积误差不能忽略。本发明通过道路宽度的边界检测陀螺仪累积误差的大小,确保用户必须在道路区域中行走,使得沿着垂直道路方向的累积步行长度应该被限制于道路区域中,在短时间Δt中,移动的长度lv(Δt)为:
设置阈值max_width表示垂直于道路方向上的最大距离的约束,当累积的lv大于max_width时,用户手动对指南针进行调整;
行走方向的调整过程如下:输入:原先的行走方向θ(t),由陀螺仪得到的行走方向θg(t+Δt),由加速度计和指南针得到的行走方向θc(t+Δt);输出:当前的行走方向θ(t+Δt);
如果||θg(t+Δt)-θ(t)|-|θc(t+Δt)-θ(t)||<Δmax(θ),则当前的行走方向θ(t+Δt)为:θ(t+Δt)=θc(t+Δt),并将陀螺仪的参考方向设置为θc(t+Δt);否则,当前的行走方向θ(t+Δt)为:θ(t+Δt)=θg(t+Δt)。
除了方向误差,由于用户的步长难以保持恒定,步数误差不断累积引起位置估计发生偏差。所述导航模块在导航期间,通过自动检测沿途的兴趣点(POI)调整导航地图的比例尺:若兴趣点为转弯点,一个转弯点是拐角大小为θk,从到的像素距离为:
从而得到新的比例尺Scanew为
需要说明的是,图2为本发明实施例提供的地图坐标系示意图,图中Xm表示地图中的X轴,Ym表示地图中的Y轴,Xe(E)表示地球坐标系下的正东方向,Ye(N)表示地球坐标系下的正北方向。图3为本发明实施例提供的手机坐标系示意图,图中Y(ROll)表示手机坐标系Y轴,Ze(Gravity)方表示重力反方向,Ye(N)方表示地球坐标系下的正北方向,Xe(E)地球坐标系下的正东方向。
值得一提的是,本发明已在Android 5.0上实现。本发明对手机硬件没有特殊要求,因此可用于大多数现代手机。我们使用华为Mate7和XiaoMi MI4对本发明进行测试。实验结果表明,本发明为室内导航提供了一种方便的方式,并有效地将用户引导到相应的目的地。
对于阈值参数,本实施例进行了较为保守的设置。对于从照片中提取道路的阈值δcol,较大的δcol能够容忍不同光照情况的影响,但是引起道路像素选择的假阴性。假阴性会导致道路拓扑结构的不准确提取。为了平衡两者,我们赋予δcol一个适中的值14。在路径规划中,ε决定了道路中点的数量。ε越大,路径中点的数量越少,新的路径会偏离原始路径的拓扑结构。相反,大量的路径点增加了拐点错误检测的概率,从而给出错误的提示。本发明采用一个自适应方法自动选择ε。根据经验,人们通常忽略小于10°的转弯。因此,我们将转弯的最小度数min_degree设置为10°。为了控制指南针误差的影响,我们保守地将Δmax(θ)和max_width设置为比较小的值5°和5步。
本发明的技术方案利用智能终端如手机、平板等拍摄室内地图的照片,计算出地图中的相关物理信息如比例尺和方向;提取道路,规划路径;根据规划的路径将用户信息与路径关联,指引用户到达目的地。本发明不需要预先收集信息或预先部署基础设施,利用生活中广泛存在的室内地图,充分挖潜已有室内地图中的信息,结合智能终端自带的手机传感器,提供端到端精确室内导航服务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (5)
1.一种基于室内平面图的自主导航系统,其特征在于,包括地图翻译模块和导航模块;所述地图翻译模块用于:一、通过路径提取部件和名称提取部件从地图照片中提取导航地图的结构化信息,其中,所述结构化信息包括但不限于道路和店铺名称;二、通过用户状态估计组件输出相关用户状态信息,其中,所述用户状态估计组件包括但不限于智能终端内的指南针、加速度计及陀螺仪,所述相关用户状态信息包括但不限于用户步数和用户朝向;三、通过所述用户状态估计组件和地图提取组件获得导航地图;所述导航模块用于:一、在用户指定目的地后,通过路径规划器规划出一条从用户当前位置到达目的地的导航路径;并根据所述用户状态估计组件输入的相关用户状态信息和所述导航路径,确定导航路径上用户的相对位置;二、确定导航路径中距离每个转弯的步数;其中,所述通过路径提取部件和名称提取部件从地图照片中提取导航地图的结构化信息,包括:道路提取:一、将地图照片Im转化为灰度图;二、对Im中的每个像素p,得到其对应的灰度值gp;三、如果|gp-gini|<δcol,则将该像素点处的颜色设置为黑色,否则设置为白色,其中,gini为触摸点pini的灰度值,触摸点pini由用户触摸智能终端屏幕中任意道路点获得,δcol为衡量gp与gini是否相近的而设置的阈值;四、判断Im中的每个黑色像素pb与触摸点pini是否连通,若不连通,则该像素点处的颜色设置为白色;五、通过快速并行细化算法对Im中的道路区域进行细化,提取道路骨架;六、遍历Im中所有的黑色像素建立无向图Gp;通过检测包含文本的矩形区域来计算店铺位置:一、采用MSER算法,输出代表店铺的文本矩形,并记录文本矩形左上角和右下角的坐标以标识店铺位置;二、根据检测出的文本矩形的坐标,提取其限定的子图像,并将子图像转换为二值化图像;所述根据检测出的文本矩形的坐标,提取其限定的子图像,并将子图像转换为二值化图像,包括:一、采用OpenCV的基于局部自适应阈值算法对子图像进行二值化处理,获得二值化图像;二、使用Tesseract-OCR识别二值化图像中的文本内容;三、将所述文本内容作为店铺位置查询的索引;所述通过所述用户状态估计组件和地图提取组件获得导航地图,包括:地图匹配:一、采用上述计算店铺位置的方法检测并识别地图照片中的店铺名称;二、完成一次从一个店铺走到另一个店铺的校准行走,通过用户输入或识别拍摄的店铺照片获得两个店铺的位置S1和S2,其中S1是起始店铺位置,S2是结束店铺位置;三、利用两个店铺的位置S1和S2的坐标,在道路中识别出对应的起点ps和终点pe:计算出矩形的中心点坐标C(S1),C(S2);该校准算法需要满足三个限制条件:首先,向量和向量不相交,其次,均垂直于向量最后,和的距离之和最小;从道路中距离坐标(0,0)最近的点p0开始,使用DFS算法遍历所有道路像素,找出满足上述三个限制条件的起点ps和终点
Sca=l(ps,pe)/w
2.根据权利要求1所述的基于室内平面图的自主导航系统,其特征在于,所述通过路径规划器规划出一条从用户当前位置到达目的地的导航路径中,所述用户当前位置即导航的起点的定位包括:用户拍摄包含附近店铺名称的照片,通过识别照片提取出店铺名称的文本,并在导航地图上使用文本匹配查询店铺坐标;根据店铺矩形Ss,计算矩形中心的坐标为c(Ss);当用户正在拍照时,脸的朝向与智能终端z轴在地球坐标下的投影方向相反,同理计算智能终端Y轴在地球坐标下的方向;通过智能终端的指南针和加速度计得到用户在地球坐标系下的拍摄方向δ,然后,遍历路径上的所有点,找到满足下式的用户站立点ps作为导航的起点:
3.根据权利要求2所述的基于室内平面图的自主导航系统,其特征在于,所述在用户指定目的地后,通过路径规划器规划出一条从用户当前位置到达目的地的导航路径,并根据所述用户状态估计组件输入的相关用户状态信息和所述导航路径,确定导航路径上用户的相对位置;确定导航路径中距离每个转弯的步数,包括:确定用户当前位置即导航的起点后,需用户输入目的地店铺Sd的名称,然后查询目的地店铺Sd的坐标,并获得店铺矩形的中心c(Sd);遍历导航地图道路上的所有点,找到距离c(Sd)最近的点pd即导航的终点,查询条件如下:
获得导航的起点和导航的终点后,使用Dijkstra算法计算出最短路径Lp;路径Lp上的点被表示为{p0,p1,...,pn};遍历Lp中的所有路径点找到转弯位置;为了减少计算量,对于路径所在的曲线,采用Ramer-Douglas-Peucker算法减少路径中点的个数,保持原始路径上的点到新路径的距离小于阈值ε,初始时刻,将p0和pn纳入在新路径的中,然后,如果pk到线段p0pn的距离比ε大,则将pk纳入中;对于p0pk和pkpn,迭代地划分线段直到Lp中没有点到新的路径段的距离大于ε;新的路径由这m个点组成,对于路径中的任一点计算和之间的夹角θi;设置拐角的角度阈值为mini_angle,即当θi大于mini_angle时,该点才是拐点;给定用户在Δt时间内的行走步数wt,每一步的朝向计算出用户在Δt内移动的像素距离:
根据计算出的lp(Δt),更新用户行走的轨迹并且给予提示,其中,提示的内容包括当前行走方向,下一个转弯的方向以及距离下一个转弯的步数。
4.根据权利要求3所述的基于室内平面图的自主导航系统,其特征在于,所述导航模块在开始导航前,用户需要对智能终端的指南针进行八字校准;在导航期间,短时间Δt内,如果由智能终端的指南针和加速度计计算出的方向变化的差值小于阈值Δmax(θ),则使用指南针计算的瞬时方向表示行走方向,并重置陀螺仪的参考方向,否则,利用从陀螺仪计算出的方向作为步行方向,并通过道路宽度的边界检测陀螺仪累积误差的大小,确保用户必须在道路区域中行走,使得沿着垂直道路方向的累积步行长度应该被限制于道路区域中,在短时间Δt中,移动的长度lv(Δt)为:
设置阈值max_width表示垂直于道路方向上的最大距离的约束,当累积的lv大于max_width时,用户手动对指南针进行调整;
行走方向的调整过程如下:输入:原先的行走方向θ(t),由陀螺仪得到的行走方向θg(t+Δt),由加速度计和指南针得到的行走方向θc(t+Δt);输出:当前的行走方向θ(t+Δt);
如果||θg(t+Δt)-θ(t)|-|θc(t+Δt)-θ(t)||<Δmax(θ),则当前的行走方向θ(t+Δt)为:θ(t+Δt)=θc(t+Δt),并将陀螺仪的参考方向设置为θc(t+Δt);否则,当前的行走方向θ(t+Δt)为:θ(t+Δt)=θg(t+Δt)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196676.6A CN106989747B (zh) | 2017-03-29 | 2017-03-29 | 一种基于室内平面图的自主导航系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710196676.6A CN106989747B (zh) | 2017-03-29 | 2017-03-29 | 一种基于室内平面图的自主导航系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106989747A CN106989747A (zh) | 2017-07-28 |
CN106989747B true CN106989747B (zh) | 2020-09-04 |
Family
ID=59413042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710196676.6A Active CN106989747B (zh) | 2017-03-29 | 2017-03-29 | 一种基于室内平面图的自主导航系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106989747B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107889056B (zh) * | 2017-09-20 | 2020-09-29 | 百度在线网络技术(北京)有限公司 | 多层建筑的室内位置数据的采集方法、设备及可读介质 |
CN109798892A (zh) * | 2017-11-17 | 2019-05-24 | 北京搜狗科技发展有限公司 | 一种信息处理方法、装置及电子设备 |
CN108692728A (zh) * | 2018-04-26 | 2018-10-23 | 哈尔滨工业大学深圳研究生院 | 基于cad建筑图和计算机视觉识别的室内导航方法及系统 |
CN108844534A (zh) * | 2018-04-27 | 2018-11-20 | 北京小米移动软件有限公司 | 位置信息的获取方法及装置、存储介质 |
CN108921584A (zh) * | 2018-05-15 | 2018-11-30 | 上海扩博智能技术有限公司 | 用于收集快消品状态的众包系统、方法设备及存储介质 |
US20210318125A1 (en) * | 2018-06-11 | 2021-10-14 | King Abdullah University Of Science And Technology | Millimeter-wave radar-based autonomous navigation system |
CN108986122B (zh) * | 2018-08-01 | 2021-03-02 | 重庆大学 | 室内泊车引导地图智能重构方法 |
CN110887483A (zh) * | 2018-09-07 | 2020-03-17 | 深圳市优必选科技有限公司 | 机器人及导航方法、存储装置 |
JP2020063940A (ja) * | 2018-10-16 | 2020-04-23 | トヨタ自動車株式会社 | 移動体 |
CN109029466A (zh) * | 2018-10-23 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 室内导航方法和装置 |
CN109685846B (zh) * | 2018-12-19 | 2023-03-10 | 吉林大学 | 一种基于Dijkstra的X光照片中金属物定位方法 |
CN109637186A (zh) * | 2018-12-29 | 2019-04-16 | 曲阜师范大学 | 一种停车诱导信息处理系统及方法、计算机 |
CN110154053A (zh) * | 2019-06-05 | 2019-08-23 | 东北师范大学 | 一种基于ocr的室内讲解机器人及其讲解方法 |
CN110849348A (zh) * | 2019-10-11 | 2020-02-28 | 南京极电客科技有限公司 | 基于视觉识别的室内地图基础数据生成方法 |
CN113778464A (zh) * | 2020-08-07 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 小程序灰度发布方法和装置 |
CN112465968B (zh) * | 2020-11-25 | 2024-01-26 | 北京建筑大学 | 用于定位导航的建筑物地图混合数据模型的构建方法 |
US20220316906A1 (en) * | 2021-04-03 | 2022-10-06 | Naver Corporation | Apparatus and Method for Generating Navigational Plans |
CN114169930B (zh) * | 2021-12-07 | 2022-12-13 | 钻技(上海)信息科技有限公司 | 一种线上线下协同的门店精准营销方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104596499A (zh) * | 2014-06-27 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 一种通过图像获取进行导航的方法、装置和系统 |
CN105136144A (zh) * | 2015-08-05 | 2015-12-09 | 中科新松有限公司 | 商场导航系统以及商场导航方法 |
US9285227B1 (en) * | 2015-01-29 | 2016-03-15 | Qualcomm Incorporated | Creating routing paths in maps |
WO2016077703A1 (en) * | 2014-11-13 | 2016-05-19 | Worcester Polytechnic Institute | Gyroscope assisted scalable visual simultaneous localization and mapping |
CN105716609A (zh) * | 2016-01-15 | 2016-06-29 | 浙江梧斯源通信科技股份有限公司 | 一种机器人室内视觉定位方法 |
CN105737833A (zh) * | 2016-05-13 | 2016-07-06 | 上海会志信息科技有限公司 | 室内导航方法及装置 |
CN106123898A (zh) * | 2016-06-15 | 2016-11-16 | 成都新橙北斗智联有限公司 | 基于图片解析的室内路径规划方法 |
KR101707878B1 (ko) * | 2015-09-09 | 2017-02-17 | 한국과학기술연구원 | 복수의 영상 및 보행자 추측 항법 기술을 이용한 사용자 위치 추정 장치 및 그 방법 |
CN106500701A (zh) * | 2016-11-22 | 2017-03-15 | 大唐软件技术股份有限公司 | 一种基于实景图片的室内导航方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10801842B2 (en) * | 2014-12-09 | 2020-10-13 | Oracle International Corporation | Shortest path engine for warehouse management |
-
2017
- 2017-03-29 CN CN201710196676.6A patent/CN106989747B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104596499A (zh) * | 2014-06-27 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 一种通过图像获取进行导航的方法、装置和系统 |
WO2016077703A1 (en) * | 2014-11-13 | 2016-05-19 | Worcester Polytechnic Institute | Gyroscope assisted scalable visual simultaneous localization and mapping |
US9285227B1 (en) * | 2015-01-29 | 2016-03-15 | Qualcomm Incorporated | Creating routing paths in maps |
CN105136144A (zh) * | 2015-08-05 | 2015-12-09 | 中科新松有限公司 | 商场导航系统以及商场导航方法 |
KR101707878B1 (ko) * | 2015-09-09 | 2017-02-17 | 한국과학기술연구원 | 복수의 영상 및 보행자 추측 항법 기술을 이용한 사용자 위치 추정 장치 및 그 방법 |
CN105716609A (zh) * | 2016-01-15 | 2016-06-29 | 浙江梧斯源通信科技股份有限公司 | 一种机器人室内视觉定位方法 |
CN105737833A (zh) * | 2016-05-13 | 2016-07-06 | 上海会志信息科技有限公司 | 室内导航方法及装置 |
CN106123898A (zh) * | 2016-06-15 | 2016-11-16 | 成都新橙北斗智联有限公司 | 基于图片解析的室内路径规划方法 |
CN106500701A (zh) * | 2016-11-22 | 2017-03-15 | 大唐软件技术股份有限公司 | 一种基于实景图片的室内导航方法及系统 |
Non-Patent Citations (1)
Title |
---|
大众电子地图的应用现状及发展趋势;杨洪泉;《测绘通报》;20141231(第11期);第37-41页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106989747A (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106989747B (zh) | 一种基于室内平面图的自主导航系统 | |
US11482008B2 (en) | Directing board repositioning during sensor calibration for autonomous vehicles | |
CN105241445B (zh) | 一种基于智能移动终端的室内导航数据获取方法及系统 | |
CN105371847B (zh) | 一种室内实景导航方法及系统 | |
US10001378B2 (en) | Incremental map generation, refinement and extension with GPS traces | |
US8467810B2 (en) | Method and system for reporting errors in a geographic database | |
WO2020052530A1 (zh) | 一种图像处理方法、装置以及相关设备 | |
US9880019B2 (en) | Generation of intersection information by a mapping service | |
CN109029444B (zh) | 一种基于图像匹配和空间定位的室内导航系统及导航方法 | |
US8239131B2 (en) | Navigation device, navigation method, and navigation program | |
Acharya et al. | BIM-Tracker: A model-based visual tracking approach for indoor localisation using a 3D building model | |
WO2016126786A1 (en) | Last-mile navigation using smartphones | |
CN106871906B (zh) | 一种盲人导航方法、装置及终端设备 | |
US20130163824A1 (en) | Method and Device for Detecting Distance, Identifying Positions of Targets, and Identifying Current Position in Smart Portable Device | |
KR102475039B1 (ko) | 지도 정보 갱신 장치, 방법 및 시스템 | |
CN114332232B (zh) | 基于空间点线面特征混合建模的智能手机室内定位方法 | |
Flade et al. | Lane detection based camera to map alignment using open-source map data | |
US11570576B2 (en) | Image-based approach for device localization based on a vehicle location | |
Chiang et al. | Semantic proximity update of GNSS/INS/VINS for Seamless Vehicular Navigation using Smartphone sensors | |
Chen et al. | Multi-level scene modeling and matching for smartphone-based indoor localization | |
US10718620B2 (en) | Navigation and positioning device and method of navigation and positioning | |
US9811889B2 (en) | Method, apparatus and computer program product for generating unobstructed object views | |
CN115235455A (zh) | 一种基于智能手机pdr与视觉修正的行人定位方法 | |
CN112651393B (zh) | 兴趣点数据处理方法、装置、设备及存储介质 | |
Hasler et al. | Implementation and first evaluation of an indoor mapping application using smartphones and AR frameworks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |