发明内容
本申请提供了一种移动端视觉融合定位方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种移动端视觉融合定位方法,包括以下步骤:
步骤a:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
步骤b:使用移动终端获取视频帧;
步骤c:检测所述视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端当前位置,并将所述移动终端当前位置与静态物体的坐标信息相结合,得到定位目标的定位结果。
本申请实施例采取的技术方案还包括:在所述步骤b中,所述使用移动终端获取视频帧后还包括:视觉里程计根据获取的视频帧计算移动终端当前的位姿信息。
本申请实施例采取的技术方案还包括:所述视觉里程计根据获取的视频帧计算移动终端当前的位姿信息具体包括:
步骤b1:视觉里程计将获取的视频帧缩放至设定大小后,存入图像滑动窗口,并判断当前视频帧是否为第一帧,如果当前视频帧为第一帧则仅进行提取关键点操作;否则,提取关键点并计算当前关键点与前一视频帧关键点的残差;单个关键点残差e是关键点像素亮度的误差,计算公式为:
e=I1(x1)-I2(x2)=I1(Kp1)-I2(K(Rp1+t))
上述公式中,I2为I1经过某种运动得到,R和t是移动终端运动轨迹,x1是关键点在图像I1中的像素位置,x2是关键点在图像I2中的像素位置,p1是关键点在现实空间中的坐标,K是移动终端的内参矩阵;
步骤b2:利用高斯牛顿法求解残差雅可比,得到当前视频帧与上一视频帧的运动位姿,并将其记录至位姿存储滑动窗口;
步骤b3:得到当前视频帧的移动终端位姿,提取所述位姿的空间偏移量,并将空间偏移量转换成相对坐标偏移值,即为移动终端的运动偏移。
本申请实施例采取的技术方案还包括:所述步骤b还包括:判断监听定位状态,如果不是在定位状态,则将所述移动终端当前的位姿信息与上一次获取的当前位置相加后,对定位目标的当前位置进行更新;如果是在定位状态,执行步骤c。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述检测视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端当前位置具体包括:
步骤c1:取出所述视频帧,输入至目标检测神经网络中,得到该视频帧中所包含的静态物体种类,并将所述静态物体的中心像素位置设置为标定点,然后取出下一视频帧以及所述下一视频帧的移动终端位姿信息,利用三角测量法算出标定点与移动终端的深度信息;其中,所述三角测量法公式如下:
上述公式中,s1,s2是关键点的深度信息;
步骤c2:通过识别的静态物体类别,以当前位置的坐标信息加载BIM空间信息数据库,根据所述BIM空间信息数据库得到所述静态物体的坐标信息;
步骤c3:将所述静态物体的坐标信息带入定位模型中,并采用高斯牛顿法迭代求解,得到移动终端当前位置;高斯牛顿法求解方程组为:
上述公式中,(x,y,z)是移动终端的当前位置,(xn,yn,zn)是BIM坐标信息,ρn是静态物体到移动终端的深度,σn是深度的测量噪声;
步骤c4:将所述移动终端当前位置与静态物体坐标信息相结合,得到当前位置的定位结果。
本申请实施例采取的另一技术方案为:一种移动端视觉融合定位系统,包括:
初始定位单元:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
视频帧获取模块:用于使用移动终端获取视频帧;
目标定位模块:用于检测所述视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端新的当前位置,并将所述移动终端新的当前位置与静态物体的坐标信息相结合,得到定位目标的定位结果。
本申请实施例采取的技术方案还包括位姿计算模块,所述位姿计算模块用于通过视觉里程计根据获取的视频帧计算移动终端当前的位姿信息。
本申请实施例采取的技术方案还包括:所述位姿计算模块包括:
关键点提取单元:用于通过视觉里程计将获取的视频帧缩放至设定大小后,存入图像滑动窗口,并判断当前视频帧是否为第一帧,如果当前视频帧为第一帧则仅进行提取关键点操作;否则,提取关键点并计算当前关键点与前一视频帧关键点的残差;单个关键点残差e是关键点像素亮度的误差,计算公式为:
e=I1(x1)-I2(x2)=I1(Kp1)-I2(K(Rp1+t))
上述公式中,I2为I1经过某种运动得到,R和t是移动终端运动轨迹,x1是关键点在图像I1中的像素位置,x2是关键点在图像I2中的像素位置,p1是关键点在现实空间中的坐标,K是移动终端的内参矩阵;
运动位姿求解单元:用于利用高斯牛顿法求解残差雅可比,得到当前视频帧与上一视频帧的运动位姿,并将其记录至位姿存储滑动窗口;
运动偏移计算单元:用于得到当前视频帧的移动终端位姿,提取所述位姿的空间偏移量,并将空间偏移量转换成相对坐标偏移值,即为移动终端的运动偏移。
本申请实施例采取的技术方案还包括定位判断模块和位置更新模块,所述定位判断模块用于通过判断监听定位状态,如果不是在定位状态,则通过位置更新模块将所述移动终端当前的位姿信息与上一次获取的当前位置相加后,对定位目标的当前位置进行更新;如果是在定位状态,通过目标定位模块获取定位目标的定位结果。
本申请实施例采取的技术方案还包括:所述目标定位模块具体包括:
物体识别及深度计算单元:用于取出所述视频帧,输入至目标检测神经网络中,得到该视频帧中所包含的静态物体种类,并将所述静态物体的中心像素位置设置为标定点,然后取出下一视频帧以及所述下一视频帧的移动终端位姿信息,利用三角测量法算出标定点与移动终端的深度信息;其中,所述三角测量法公式如下:
上述公式中,s1,s2是关键点的深度信息;
粗定位单元:用于通过识别的静态物体类别,以当前位置的坐标信息加载BIM空间信息数据库,根据所述BIM空间信息数据库得到所述静态物体的坐标信息;
精定位单元:用于将所述静态物体的坐标信息带入定位模型中,并采用高斯牛顿法迭代求解,得到移动终端当前位置;高斯牛顿法求解方程组为:
上述公式中,(x,y,z)是移动终端的当前位置,(xn,yn,zn)是BIM空间数据库中存储的静态物体坐标信息,ρn是静态物体到移动终端的深度,σn是深度的测量噪声;
定位结果生成单元:用于将所述移动终端当前位置与静态物体坐标信息相结合,获取定位结果。
本申请实施例采取的又一技术方案为:一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的移动端视觉融合定位方法的以下操作:
步骤a:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
步骤b:使用移动终端获取视频帧;
步骤c:检测所述视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端当前位置,并将所述移动终端当前位置与静态物体的坐标信息相结合,得到定位目标的定位结果。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的移动端视觉融合定位方法、系统及电子设备利用视觉传感器检测并识别真实世界的静态物体得到物体空间关系,并与BIM模型提供的物体空间关系进行地理拓扑空间匹配,再根据物体的距离测量建立非线性方程组,迭代求解方程组,收敛得到精确位置,从而实现更精准更便捷更低廉的定位方法。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
请参阅图1,是本申请实施例的移动端视觉融合定位方法的流程图。本申请实施例的移动端视觉融合定位方法包括以下步骤:
步骤100:系统初始化;
步骤100中,系统初始化包括以下步骤:
步骤110:视觉里程计的初始化;
步骤110中,视觉里程计的初始化包括:位姿管理器的内存分配、变量的赋初值等操作;位姿管理器包括一个位姿存储的滑动窗口、图像滑动窗口、关键点等主要数据结构,位姿存储的滑动窗口用于存储计算得出的位姿信息;图像滑动窗口用于缓存移动终端的拍摄信息,等待关键点的提取以及标定点深度的估计;关键点用于标识一帧图像中某一区域的像素梯度变化情况,用于后续图像的相似度比较;除此主要数据结构以外,位姿管理器还包括关键点提取函数、关键点相似度估计函数、关键点更新函数、关键点丢弃函数、关键点索引函数、关键点深度估计函数、帧位姿估计函数以及位姿的增、删、查函数等数据。
步骤120:语义定位校准的初始化;
步骤120中:语义定位校准的初始化包括目标检测神经网络的训练、模型的加载,以及BIM空间数据库的生成及加载。其中,目标检测神经网络结构如图2所示,本申请所述目标检测神经网络结构是参考现有目标检测方法,网络结构并未做出更改,仅在训练网络时采用专有静态物体数据集训练并经优化后,部署至移动终端。BIM空间数据库采用R树方法构建、索引,其中BIM空间数据结构包含当前位置所在区域的电子地图和该区域包含的静态物体类别、静态物体坐标信息、静态物体临近的其他静态物体以及当前位置所在建筑的每层建筑空间布局信息。
步骤130:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
步骤130中,本申请实施例的移动终端为配备Android的终端设备,带有9轴IMU传感器。初始定位可通过室内平面地图设定起始点位置,或通过自动识别唯一标志设定,然后基于加速度、陀螺仪等传感器累计。
步骤200:使用移动终端获取视频帧;
步骤300:视觉里程计根据获取的视频帧计算移动终端当前的位姿信息;
步骤300中,位姿是运动矩阵,包含移动终端旋转、平移等信息。视觉里程计通过利用关键点的像素残差,来估计移动终端相邻两帧的位姿变化,进而求得移动终端的运动偏移。具体的,视觉里程计位姿计算具体包括:
步骤310:视觉里程计将获取的视频帧缩放至300px*300px(具体可根据实际应用进行设定)后,存入图像滑动窗口,并判断当前视频帧是否为第一帧,如果当前视频帧为第一帧则仅提取关键点,否则,提取关键点并计算该关键点与前一视频帧关键点的残差;
步骤310中,关键点计算步骤如下:首先在视频帧上选取像素p,并取像素P灰度值G的30%为阈值T。然后,以像素p为中心,选取半径为3的圆上的16个像素点,如果选取的圆上连续有N个点亮度大于G+T或者小于G-T时,则该像素p可被认为是视频帧的关键点。重复上述步骤,直到遍历完视频帧上的所有像素,完成关键点计算;最后,采用非极大值抑制,在50px*50px内,仅保留响应极大值的关键点。如图3所示,为关键点选取示意图。例如:点p半径为3的十六个像素值下表灰色部分,灰色部分就是选取的N个点,计算这N个点与P的大小,按照上面规则确定是否是关键点。P是一个0到255的值。单个关键点残差e是关键点像素亮度的误差,计算公式如下:
e=I1(x1)-I2(x2)=I1(Kp1)-I2(K(Rp1+t)) (1)
公式(1)中,I2为I1经过某种运动得到,R和t是移动终端运动轨迹,x1是关键点在图像I1中的像素位置,x2是关键点在图像I2中的像素位置,p1是关键点在现实空间中的坐标,K是移动终端的内参矩阵。残差的李代数形式为:
e=I1(Kp1)-I2(K(exp(ξ^)p1)) (2)
步骤320:利用高斯牛顿法求解残差雅可比,得到当前视频帧与上一视频帧的运动位姿,并将其记录至位姿存储滑动窗口;
步骤320中,利用高斯牛顿法求解残差雅可比具体包括:
移动终端位姿优化目标函数:
公式(3)中,ξ是移动终端位姿,J是残差相对于李代数的梯度;即
高斯牛顿迭代增量求解方程为:
公式(4)中,Δξ*是迭代增量。
高斯牛顿法求解最优化问题,通过目标函数的一阶梯度,沿着该梯度下降迭代求解。
目标函数为:(xi-x)2+(yi-y)2+(zi-z)2=f(X)其中X=[x,y,z]
迭代增量ΔXk为:J(X)TJ(X)ΔX=-J(X)Tf(X)
其中J(X)是方程的雅可比矩阵;
高斯牛顿法求解流程如下:
步骤321:给定初始点p0,以及迭代次数k,允许误差ε>0。当迭代次数和误差不满足条件时,则执行步骤330;
步骤322:若目标函数f((X)k+1)-f((X)k)小于阈值ε则退出,否则执行步骤323;
步骤323:算出迭代增量,带入目标函数,返回步骤321。
步骤330:得到当前视频帧的移动终端位姿,该位姿是一个六自由度的行向量,提取位姿的空间偏移量,并把空间偏移量转换成相对坐标偏移值,即为移动终端的运动偏移。
步骤400:通过判断定位监听状态,如果不是在定位状态,则执行步骤500;否则,执行步骤600;
步骤400中,定位监听是回调类型的,可能在初始化完成之后的任意时间执行。本申请在获取视频帧后即开始视觉里程计位姿计算,如果不是定位状态,将计算得到的位姿信息与上一次获取到的当前位置相加,得到本次当前位置的更新结果。该步骤一直反复执行,并不会因定位状态改变而停止。当定位监听装为定位状态时,则调用语义定位校准,根据识别的物体计算当前位置,替换视觉里程计所计算的运动偏移,并结合BIM空间数据库中的静态物体坐标更新用户的当前位置,然后将该位置作为最终位置。
步骤500:将当前位姿信息与上一次获取的当前位置相加后,对定位目标的当前位置进行更新;
步骤600:调用语义定位校准检测视频帧中的静态物体,并利用标定点采用三角测量方法(三角测量是指通过在两处观察同一个点的夹角,从而确定该点的距离)估计静态物体的深度信息,通过静态物体的深度信息以及空间数据的语义信息提出多目标物体定位模型,通过高斯牛顿法迭代求解定位模型,获取静态物体坐标信息及移动终端当前位置,将静态物体坐标信息与移动终端当前位置相结合,得到定位目标的定位结果;
步骤600中,语义定位校准的定位方式具体包括以下步骤:
步骤610:取出图像滑动窗口中的视频帧,输入至目标检测神经网络中,得到该视频帧中所包含的静态物体种类,并将识别出的静态物体的中心像素位置设置为标定点,然后取出下一视频帧以及下一视频帧的移动终端位姿信息,利用三角测量法,算出标定点与移动终端的深度信息;
步骤610中,三角测量法公式如下:
公式(6)中,s1,s2是关键点的深度信息。
步骤620:通过粗定位得到视频帧中静态物体的坐标信息;粗定位的位置数据来自于BIM空间数据库中存储的静态物体的坐标信息,通过识别的物体类别,以当前位置的坐标信息范围附近检索所加载的BIM空间信息数据库,找出识别的物体类别所携带的坐标信息。
步骤630:精定位;为了进一步优化定位精度,将粗定位得到的坐标信息带入定位模型中,并采用高斯牛顿法迭代求解,得到移动终端当前位置。
步骤630中,静态物体与移动终端的位置应满足以下关系:
(xi-x)2+(yi-y)2+(zi-z)2=δρi+σi (7)
因此可建立并解算如下非线性方程组:
公式(8)中,(x,y,z)是移动终端当前的位置,(xn,yn,zn)是BIM空间数据库中存储的静态物体坐标信息,表征静态物体距离固定坐标(比如建筑物中心的坐标信息)的相对位置,ρn是当前静态物体到移动终端的深度,σn是深度的测量噪声。
步骤640:将精定位迭代计算出的移动终端当前位置(该位置为相对于建筑物特定目标坐标的偏移)与粗定位得到的静态物体坐标信息相结合,得到当前位置的定位结果,并生成定位结果的室内电子地图及BIM空间数据库;
步骤640中,根据定位坐标获取所在区域的电子地图,叠加BIM信息,生产当前定位结果的临近室内电子地图。
请参阅图4,是本申请实施例的移动端视觉融合定位系统的结构示意图。本申请实施例的移动端视觉融合定位系统包括初始化模块、视频帧获取模块、位姿计算模块、定位判断模块、位置更新模块和目标定位模块。
初始化模块:用于系统初始化;具体地,初始化模块包括:
视觉里程计初始化单元:用于视觉里程计的初始化;包括:位姿管理器的内存分配、变量的赋初值等操作;位姿管理器包括一个位姿存储的滑动窗口、图像滑动窗口、关键点等主要数据结构,位姿存储的滑动窗口用于存储计算得出的位姿信息;图像滑动窗口用于缓存移动终端的拍摄信息,等待关键点的提取以及标定点深度的估计;关键点用于标识一帧图像中某一区域的像素梯度变化情况,用于后续图像的相似度比较;除此主要数据结构以外,位姿管理器还包括关键点提取函数、关键点相似度估计函数、关键点更新函数、关键点丢弃函数、关键点索引函数、关键点深度估计函数、帧位姿估计函数以及位姿的增、删、查函数等数据。
语义定位校准初始化单元:用于语义定位校准的初始化;包括目标检测神经网络的训练、模型的加载,以及BIM空间数据库的生成及加载。本申请所述目标检测神经网络结构是参考现有目标检测方法,在训练网络时采用专有静态物体数据集训练并经优化后,部署至移动终端。BIM空间数据库采用R树方法构建、索引,其中BIM空间数据结构包含当前位置所在区域的电子地图和该区域包含的静态物体类别、静态物体坐标信息、静态物体临近的其他静态物体以及当前位置所在建筑的每层建筑空间布局信息。
初始定位单元:用于获取移动终端的初始位置,并将初始位置设置为当前位置;其中,本申请实施例的移动终端为配备Android的终端设备,带有9轴IMU传感器。初始定位可通过室内平面地图设定起始点位置,或通过自动识别唯一标志设定,然后基于加速度、陀螺仪等传感器累计。
视频帧获取模块:用于使用移动终端获取视频帧;
位姿计算模块:用于通过视觉里程计根据获取的视频帧计算移动终端当前的位姿信息;其中,位姿是运动矩阵,包含移动终端旋转、平移等信息。视觉里程计通过利用关键点的像素残差,来估计移动终端相邻两帧的位姿变化,进而求得移动终端的运动偏移。具体的,位姿计算模块包括:
关键点提取单元:用于将获取的视频帧缩放至300px*300px后,存入图像滑动窗口,并判断当前视频帧是否为第一帧,如果当前视频帧为第一帧则仅提取关键点,否则,提取关键点并计算该关键点与前一视频帧关键点的残差;其中,关键点计算步骤如下:首先在视频帧上选取像素p,并取像素P灰度值G的30%为阈值T。然后,以像素p为中心,选取半径为3的圆上的16个像素点,如果选取的圆上连续有N个点亮度大于G+T或者小于G-T时,则该像素p可被认为是视频帧的关键点。重复上述步骤,直到遍历完视频帧上的所有像素,完成关键点计算;最后,采用非极大值抑制,在50px*50px内,仅保留响应极大值的关键点。如图3所示,为关键点选取示意图。例如:点p半径为3的十六个像素值下表灰色部分,灰色部分就是选取的N个点,计算这N个点与P的大小,按照上面规则确定是否是关键点。P是一个0到255的值。单个关键点残差e是关键点像素亮度的误差,计算公式如下:
e=I1(x1)-I2(x2)=I1(Kp1)-I2(K(Rp1+t)) (1)
公式(1)中,I2为I1经过某种运动得到,R和t是移动终端运动轨迹,x1是关键点在图像I1中的像素位置,x2是关键点在图像I2中的像素位置,p1是关键点在现实空间中的坐标,K是移动终端的内参矩阵。残差的李代数形式为:
e=I1(Kp1)-I2(K(exp(ξ^)p1)) (2)
运动位姿求解单元:用于利用高斯牛顿法求解残差雅可比,得到当前视频帧与上一视频帧的运动位姿,并将其记录至位姿存储滑动窗口;其中,利用高斯牛顿法求解残差雅可比具体包括:
移动终端位姿优化目标函数:
公式(3)中,ξ是移动终端位姿,J是残差相对于李代数的梯度;即
高斯牛顿迭代增量求解方程为:
公式(4)中,Δξ*是迭代增量。
高斯牛顿法求解最优化问题,通过目标函数的一阶梯度,沿着该梯度下降迭代求解。
目标函数为:(xi-x)2+(yi-y)2+(zi-z)2=f(X)其中X=[x,y,z]
迭代增量ΔXk为:J(X)TJ(X)ΔX=-J(X)Tf(X)
其中J(X)是方程的雅可比矩阵;
高斯牛顿法求解流程如下:
1:给定初始点p0,以及迭代次数k,允许误差ε>0。
2:若目标函数f((X)k+1)-f((X)k)小于阈值ε则退出,否则执行下一步;
3:算出迭代增量,带入目标函数,返回步骤1。
运动偏移计算单元:用于得到当前视频帧的移动终端位姿,该位姿是一个六自由度的行向量,提取位姿的空间偏移量,并把空间偏移量转换成相对坐标偏移值,即为移动终端的运动偏移。
定位判断模块:判断定位监听终端,如果不是定位状态下,通过位置更新模块更新定位目标的当前位置;否则,通过目标定位模块获取定位目标的定位结果;其中,本申请在获取视频帧后即开始视觉里程计位姿计算,如果不是定位状态下,将计算得到的位姿信息与上一次获取到的当前位置相加,得到本次当前位置的更新结果。该步骤一直反复执行,并不会因定位状态改变而停止。是定位状态下时,则调用语义定位校准,根据识别的物体计算当前位置,替换视觉里程计所计算的运动偏移,并结合空间数据库中的静态物体坐标更新用户的当前位置,然后将该位置作为新的位置绘制到地图平台上。
位置更新模块:用于将当前位姿信息与上一次获取的当前位置相加,对定位目标的当前位置进行更新,并根据更新后的当前位置绘制室内电子地图;
目标定位模块:用于调用语义定位校准检测视频帧中的静态物体,并利用标定点采用三角测量方法(三角测量是指通过在两处观察同一个点的夹角,从而确定该点的距离)估计静态物体的深度信息,通过静态物体的深度信息以及空间数据的语义信息提出多目标物体定位模型,通过高斯牛顿法迭代求解定位模型,获取静态物体坐标信息及移动终端当前位置,将静态物体坐标信息与移动终端当前位置相结合,得到当前位置的定位结果。
具体的,目标定位模块包括:
物体识别及深度计算单元:用于取出图像滑动窗口中的视频帧,输入至目标检测神经网络中,得到该视频帧中所包含的静态物体种类,并将识别出的静态物体的中心像素位置设置为标定点,然后取出下一视频帧以及下一视频帧的移动终端位姿信息,利用三角测量法,算出标定点与移动终端的深度信息;其中,三角测量法公式如下:
公式(6)中,s1,s2是关键点的深度信息。
粗定位单元:用于得到视频帧中静态物体的坐标信息;粗定位的位置数据来自于BIM空间数据库中存储的静态物体的坐标信息,通过识别的物体类别,以当前位置的坐标信息范围附近检索所加载的BIM空间信息数据库,找出识别的物体类别所携带的坐标信息。
精定位单元:用于将粗定位得到的坐标信息带入定位模型中,并采用高斯牛顿法迭代求解,得到移动终端当前位置。其中,静态物体与终端位置的关系应满足以下关系:
(xi-x)2+(yi-y)2+(zi-z)2=δρi+σi (7)
因此可建立并解算如下非线性方程组:
公式(8)中,(x,y,z)是移动终端当前的位置,(xn,yn,zn)是BIM空间数据库中存储的静态物体坐标信息,表征静态物体距离固定坐标(比如建筑物中心的坐标信息)的相对位置,ρn是当前静态物体到移动终端的深度,σn是深度的测量噪声。
定位结果生成单元:用于将精定位迭代计算出的移动终端当前位置(该位置为相对于建筑物特定目标坐标的偏移)与粗定位得到的静态物体坐标信息相结合,得到当前位置的定位结果。根据定位结果获取所在区域的电子地图,叠加BIM信息,生成当前定位结果的临近室内电子地图。
图5是本申请实施例提供的移动端视觉融合定位方法的硬件设备结构示意图。如图5所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。
处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:
根据输电线路元件的图像样本数据构建移动端视觉融合定位模型,具体包括以下步骤:
步骤a:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
步骤b:使用移动终端获取视频帧;
步骤c:检测所述视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端当前位置,并将所述移动终端当前位置与静态物体的坐标信息相结合,得到定位目标的定位结果。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。
本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:
步骤a:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
步骤b:使用移动终端获取视频帧;
步骤c:检测所述视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端当前位置,并将所述移动终端当前位置与静态物体的坐标信息相结合,得到定位目标的定位结果。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:
步骤a:基于标定的起始位置和传感器信息,获取移动终端的初始位置,并将初始位置设置为定位目标的当前位置;
步骤b:使用移动终端获取视频帧;
步骤c:检测所述视频帧中的静态物体,通过BIM空间数据库获取所述静态物体的坐标信息,将所述静态物体的坐标信息带入多目标物体定位模型,通过高斯牛顿法迭代求解所述定位模型,获取移动终端当前位置,并将所述移动终端当前位置与静态物体的坐标信息相结合,得到定位目标的定位结果。
本申请实施例的移动端视觉融合定位方法、系统及电子设备利用视觉传感器检测并识别真实世界的静态物体得到物体空间关系,并与BIM模型提供的物体空间关系进行地理拓扑空间匹配,再根据物体的距离测量建立非线性方程组,迭代求解方程组,收敛得到精确位置,从而实现更精准更便捷更低廉的定位方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。