CN110008856B - 定位方法和电子设备 - Google Patents
定位方法和电子设备 Download PDFInfo
- Publication number
- CN110008856B CN110008856B CN201910213377.8A CN201910213377A CN110008856B CN 110008856 B CN110008856 B CN 110008856B CN 201910213377 A CN201910213377 A CN 201910213377A CN 110008856 B CN110008856 B CN 110008856B
- Authority
- CN
- China
- Prior art keywords
- information
- positioning
- image information
- state
- measurement unit
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Navigation (AREA)
Abstract
本公开提供了一种定位方法,适用于待定位对象,该定位方法包括:获取图像信息;确定所述待定位对象的当前运动状态;基于所述待定位对象的当前运动状态确定定位算法;根据所述定位算法和所述图像信息对所述待定位对象进行定位。本公开还提供了一种电子设备。
Description
技术领域
本公开涉及一种定位方法和电子设备。
背景技术
增强现实技术(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,可以把虚拟世界套在现实世界并进行互动。
现有的AR设备,在静止或缓慢运动等退化场景下,由于图像信息几乎无变化,依赖图像信息的定位方案很容易失败,尤其在完全静止时,完全依赖图像信息的定位算法几乎无法正常工作,一旦接收的图像中存在干扰,如行人走过时,将造成定位失败。
发明内容
本公开的一个方面提供了一种定位方法,可以包括如下操作:获取图像信息,并确定所述待定位对象的当前运动状态,然后基于所述待定位对象的当前运动状态确定定位算法,这样就可以根据所述定位算法和所述图像信息对所述待定位对象进行定位。
由于当待定位对象的运动状态不同时,可以采用更适用的定位算法进行定位,能有效提升定位的精准度。
可选地,所述确定待定位对象的当前运动状态可以包括如下操作:首先,获取所述待定位对象的运动特征,然后,利用运动模型处理所述运动特征,得到当前运动状态。基于运动特征和运动模型确定待定位对象的当前运动状态能保证确定的运动状态的准确度。
可选地,所述获取待定位对象的运动特征包括获取惯性测量单元(InertialMeasurement Unit,简称IMU)的输出,所述惯性测量单元的输出包括指定个数轴向的输出,其中,所述运动模型的输入可以包括所述惯性测量单元的输出,所述运动模型的输出至少包括正常运动状态标识或退化状态标识。由于IMU已普及到多种电子设备中,利用IMU获取运动特征,通常无需增加新的硬件,便于推广。
可选地,所述运动模型包括支持向量机(Support Vector Machine,简称SVM)模型,相应地,训练所述运动模型可以包括如下操作:首先,获取惯性测量单元的输出,所述惯性测量单元的输出具有当前运动状态标识,所述运动状态标识可以表征当前运动状态为正常运动状态或退化状态,然后,获取所述惯性测量单元的输出的归一化结果,接着,基于所述归一化结果训练所述运动模型使得所述运动模型的输出趋近所述归一化结果对应的所述惯性测量单元的输出的当前运动状态标识,得到运动模型参数。SVM对数据处理能力要求不高,更加适用于计算能力有限的电子设备,且模型参数可以转移,便于推广。
可选地,如果当前运动状态为第一运动状态,如静止、旋转、匀速、加速度较小等缓变的退化状态,则所述当前运动状态对应的定位算法至少包括固定关键帧或加强闭环控制中至少一个。
可选地,所述第一运动状态可以为静止状态,相应地,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位可以包括如下操作:首先,获取静止状态之前非静止状态下最后指定个数的关键帧的图像信息,然后,利用所述静止状态之前非静止状态下最后指定个数的关键帧的图像信息替换静止状态下获取的图像信息,得到替换图像信息,接着,至少利用所述定位算法处理所述替换图像信息得到位姿信息。设备在静止状态下不同时刻的位姿信息应该是相同的,可以通过固定关键帧的方式来提升定位的准确度。
可选地,当所述第一运动状态可以为静止状态时,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位还可以包括如下操作:缩小闭环控制的触发相关阈值,其中,所述触发相关阈值与先验信息相关,所述先验信息包括利用运动模型处理惯性测量单元的输出得到的第一位姿信息。设备在静止状态下不同时刻的位姿信息应该是相同的,如果静止状态下通过处理图像处理输出的位姿信息的变化量,超过了所述触发相关阈值,则可以通过闭环控制促使图像处理输出的结果趋近于所述第一位姿信息。
可选地,如果当前运动状态为旋转状态,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位可以包括如下操作:首先,利用所述定位算法处理所述图像信息得到位姿信息,然后,屏蔽所述位姿信息中位移相关信息。
可选地,如果当前运动状态为加速度恒定的运动状态,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位可以包括如下操作:首先,利用运动模型处理惯性测量单元的输出得到第一位姿信息,然后,将所述第一位姿信息作为先验信息对利用所述定位算法处理所述图像信息得到位姿信息进行闭环控制,得到第二位姿信息,接着,基于扩展卡尔曼滤波、惯性测量单元的输出的不确定度对所述第一位姿信息和所述第二位姿信息进行融合,得到第三位姿信息。
本公开的另一个方面提供了一种定位装置,包括:图像获取模块、状态获取模块、算法确定模块和定位模块,其中,所述图像获取模块用于获取图像信息,所述状态获取模块用于确定所述待定位对象的当前运动状态,所述算法确定模块用于基于所述待定位对象的当前运动状态确定定位算法,所述定位模块用于根据所述定位算法和所述图像信息对所述待定位对象进行定位。
可选地,所述状态获取模块可以包括运动特征获取单元和状态确定单元,其中,所述运动特征获取单元用于获取所述待定位对象的运动特征,所述状态确定单元用于利用运动模型处理所述运动特征,得到当前运动状态。
可选地,所述运动特征获取单元具体用于获取惯性测量单元的输出,所述惯性测量单元的输出包括指定个数轴向的输出。
可选地,所述运动模型包括支持向量机模型,所述运动模型的训练数据包括惯性测量单元的输出,所述惯性测量单元的输出具有当前运动状态标识。
可选地,所述定位模块可以包括关键帧获取单元、替换单元和第一位姿获取单元,其中,所述关键帧获取单元用于获取静止状态之前非静止状态下最后指定个数的关键帧的图像信息,所述替换单元用于利用所述静止状态之前非静止状态下最后指定个数的关键帧的图像信息替换静止状态下获取的图像信息,得到替换图像信息,所述第一位姿获取单元用于至少利用所述定位算法处理所述替换图像信息得到位姿信息。
可选地,所述定位模块可以包括阈值修改单元,所述阈值修改单元用于缩小闭环控制的触发相关阈值,其中,所述触发相关阈值与先验信息相关,所述先验信息包括利用运动模型处理惯性测量单元的输出得到的第一位姿信息。
可选地,所述定位模块可以包括第二位姿获取单元和屏蔽单元,所述第一位姿获取单元用于利用所述定位算法处理所述图像信息得到位姿信息,所述屏蔽单元用于屏蔽所述位姿信息中位移相关信息。
可选地,所述定位模块可以包括第三位姿获取单元、第四位姿获取单元和融合单元,其中,所述第三位姿获取单元用于利用运动模型处理惯性测量单元的输出得到第一位姿信息,所述第四位姿获取单元用于将所述第一位姿信息作为先验信息对利用所述定位算法处理所述图像信息得到位姿信息进行闭环控制,得到第二位姿信息,所述融合单元用于基于扩展卡尔曼滤波、惯性测量单元的输出的不确定度对所述第一位姿信息和所述第二位姿信息进行融合,得到第三位姿信息。
本公开的另一个方面提供了一种电子设备,可以包括惯性测量单元、图像传感器、一个或多个处理器和计算机可读存储介质,其中,所述惯性测量单元用于获取运动特征,所述图像传感器用于获取图像信息,所述计算机可读存储介质,用于存储一个或多个计算机程序,所述计算机程序在被所述处理器执行时,实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的定位方法和电子设备的应用场景;
图2示意性示出了根据本公开实施例的定位方法的流程图;
图3A示意性示出了根据本公开实施例的确定待定位对象的当前运动状态的流程图;
图3B示意性示出了根据本公开实施例的获取所述待定位对象的运动特征的示意图;
图3C示意性示出了根据本公开实施例的对待定位对象进行定位的流程图;
图3D示意性示出了根据本公开另一实施例的对待定位对象进行定位的流程图;
图3E示意性示出了根据本公开另一实施例的对待定位对象进行定位的流程图;
图4示意性示出了根据本公开实施例的定位装置的框图;以及
图5示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种用于待定位对象的定位方法和电子设备。该定位方法包括算法确定过程和定位过程。在算法确定过程中,待定位对象基于当前运动状态确定自身适用的定位算法。在确定定位算法之后,进入定位过程,根据所述定位算法和所述图像信息对所述待定位对象进行定位。基于待定位对象的当前运动状态确定定位算法使得待定位对象在不同的场景中采用不同的定位算法,有助于提升不同场景中的定位精度。
图1示意性示出了根据本公开实施例的定位方法和电子设备的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
为了使得虚拟信息和现实信息精准融合,必须保证AR设备110的精准定位。AR设备110包括但不限于:基于计算机显示器的AR设备、基于光学原理的穿透式AR设备、基于视频合成技术的穿透式AR设备等。如图1所示,用户使用AR设备110时用虚拟遥控器控制电视机的场景,以下以基于视频合成技术的穿透式AR实现方案为例进行说明,为了保证用户能完成使用虚拟遥控器控制电视的过程,必须保证用户看到的虚拟遥控器的位姿信息和AR设备110的实际位姿信息相符合,因此需要保证AR设备110的精准定位。
需要说明的是,本公开实施例的场景中还可以包括网络(未图示)和服务器(未图示)等。网络用以在AR设备110和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用AR设备110通过网络与服务器交互,以接收或发送消息等。
图2示意性示出了根据本公开实施例的定位方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,获取图像信息。如通过图像传感器采集图像信息,当然,也可以是通过接收其它电子设备发送的图像信息来获取图像信息,如一个电子设备给另一个电子设备共享采集的图像信息。
在操作S202,确定所述待定位对象的当前运动状态。
在本实施例中,可以通过各种传感器来确所述待定位对象的当前运动状态。上述传感器包括但不限于:3轴惯性测量单元(如加速度传感器或角速度传感器)、6轴惯性测量单元(如加速度传感器和角速度传感器)、更多轴惯性测量单元(如多个加速度传感器和角速度传感器的组合)、GPS芯片、北斗芯片、信号强度检测芯片等,通过这些传感器中的一种或多种来确定待定位对象的当前运动状态。
在操作S203,基于所述待定位对象的当前运动状态确定定位算法。
在本实施例中,根据待定位对象的运动状态来选取最合适的定位算法,以提升定位的精准度。例如,针对不同的运动状态可以选取固定关键帧、加强闭环控制、将传感器确定的位姿信息和图像处理得到的位姿信息进行融合等方法来提升定位精度。
在一个具体实施例中,如果当前运动状态为第一运动状态,则所述当前运动状态对应的定位算法包括固定关键帧或加强闭环控制中至少一个。其中,所述第一运动状态对应退化状态,包括但不限于以下至少一种运动状态:静止状态、旋转状态和匀变速状态。
在操作S204,根据所述定位算法和所述图像信息对所述待定位对象进行定位。具体地,可以通过操作S203中确定的定位算法对所述待定位对象获取的图像信息进行处理,以实现对所述待定位对象进行定位。例如,当待定位对象处于静止状态时,可以采用固定关键帧和/或加强闭环控制的算法来提升定位精度。
本公开提供的定位方法,由于当待定位对象的运动状态不同时,可以采用更适用的定位算法进行定位,能有效提升定位的精准度,增加了视觉信息之外的当前运动状态信息,在退化场景下的系统鲁棒性大大加强,即便完全静止也不会定位失败。
下面参考图3A~图3D,结合具体实施例对图2所示的方法做进一步说明。
图3A示意性示出了根据本公开实施例的确定待定位对象的当前运动状态的流程图。
如图3A所示,确定待定位对象的当前运动状态可以包括操作S301~S302。
在操作S301,获取所述待定位对象的运动特征。其中,运动特征包括但不限于:速度、加速度、角速度、角加速度、位置、高度、姿态角等。
具体地,所述获取待定位对象的运动特征可以包括获取惯性测量单元的输出,所述惯性测量单元的输出包括指定个数轴向的输出。惯性测量单元是测量物体运动及姿态的传感器组合,可以包含三轴加速度计用于测量物体在空间三个轴向的加速度,和三轴陀螺仪用于测量物体在三维空间旋转的角速度。
以下以通过6轴惯性测量单元获取所述待定位对象的运动特征为例进行说明。
图3B示意性示出了根据本公开实施例的获取所述待定位对象的运动特征的示意图。
如图3B所示,xb表示待定位对象(如AR设备)坐标系Ob的X轴,yb表示AR设备坐标系的Y轴,zb表示AR设备坐标系的Z轴,xe表示地面惯性坐标系Oe的X轴,ye表示地面惯性坐标系的Y轴,ze表示地面惯性坐标系的Z轴。具体的,该AR设备坐标系可以是AR设备对应的AR设备坐标系,则AR设备坐标系和地面惯性坐标系之间的夹角即是该AR设备的姿态角,该姿态角包括如下至少一种:俯仰角θ、偏向角ψ、横滚角φ,其中,俯仰角θ是AR设备坐标系的X轴(即xb)与地平面之间的夹角,地平面可以是地面惯性坐标系的X轴(即xe)与地面惯性坐标系的Y轴(即ye)构成的平面,另外,AR设备坐标系的X轴(即xb)可以在AR设备轴的轴向上。偏向角ψ是AR设备轴在地平面上的投影和地面惯性坐标系的X轴(即xe)之间的夹角。横滚角φ是AR设备的对称面绕AR设备轴转过的角度,由于AR设备坐标系的X轴(即xb)在AR设备轴的轴向上,则AR设备坐标系的X轴(即xb)和AR设备坐标系的Y轴(即yb)构成的平面可以作为AR设备的对称面,则横滚角φ是AR设备的对称面与过AR设备坐标系的X轴且与地平面垂直的平面之间的夹角。如图3B所示,俯仰角θ可以定义为以AR设备的顶部偏上时AR设备坐标系的X轴xb与地平面之间的夹角为正,偏向角ψ可以定义为以AR设备轴在地平面上的投影相对地面惯性坐标系的X轴xe的顺时针方向为正,横滚角φ可以定义为以AR设备的对称面绕AR设备轴顺时针方向转动为正。图3B只是示意性说明,在其他实施例中,俯仰角θ还可以定义为以AR设备顶部偏下时xb与地平面之间的夹角为正,偏向角ψ还可以定义为以AR设备轴在地平面上的投影相对xe的逆时针方向为正,横滚角φ还可以定义为以AR设备的对称面绕AR设备轴逆时针方向转动为正。这样,就可以通过六轴惯性测量单元在这六个轴的输出来判断待定位对象的当前运动状态,例如,根据当前采样时刻各轴的输出和/或上一采样时刻各轴的输出可以判断出当前是否处于静止状态、匀速状态、匀变速状态、旋转状态或其他状态,这样便于根据待定位对象的当前运动状态选取合适的定位算法。
在操作S302,利用运动模型处理所述运动特征,得到当前运动状态。
在本实施例中,当通过运动模型来处理上述惯性测量单元的输出时,所述运动模型的输入包括所述惯性测量单元的输出,所述运动模型的输出至少包括正常运动状态标识或退化状态标识。
具体地,所述运动模型包括但不限于决策树、神经网络、贝叶斯分类器、支持向量机模型SVM等等。考虑到计算资源和实时性的限制,优选地,所述运动模型可以采用支持向量机模型,该支持向量机模型的参数可以转移,便于推广。
相应地,训练所述运动模型可以包括如下操作。
首先,获取惯性测量单元的输出,所述惯性测量单元的输出具有当前运动状态标识。
然后,获取所述惯性测量单元的输出的归一化结果。
接着,基于所述归一化结果训练所述运动模型使得所述运动模型的输出趋近所述归一化结果对应的所述惯性测量单元的输出的当前运动状态标识,得到运动模型参数。其中,所述惯性测量单元的输出可以作为后续基于图像信息进行定位的一个先验信息,以提升定位的准确度。
由于IMU已普及在各种移动终端中,采用IMU确定待定位对象的当前运动状态时,无需增加新的硬件,使得本公开的技术方案便于推广。此外,可以根据不同的设备平台(如AR设备),针对性地采集IMU传感器在退化状态和普通运动状态下的数据,并离线对SVM进行训练,随着训练数据的增加,通过IMU确定待定位对象的当前运动状态的鲁棒性将随之增强,可以有效应对各种噪声及退化场景。另外,SVM的计算量也较小,不会影响系统实时性。
图3C示意性示出了根据本公开实施例的对待定位对象进行定位的流程图。
在本实施例中,如图3C所示,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位可以包括操作S303~操作S305包括:
在操作S303,获取静止状态之前非静止状态下最后指定个数的关键帧的图像信息。
例如,所述第一运动状态为静止状态时,可以利用运动状态下的最后一个关键帧或多个关键帧作为图像输入,从而避免错误关键帧对系统稳定性造成影响。
需要说明的是,如果所述第一运动状态是周期性变化的,例如,纯旋转状态时,且环境未发生改变或不影响定位结果时,也可以利用一个旋转周期的多个关键帧代替之后一个或多个旋转周期的多个关键帧作为图像输入。
在操作S304,利用所述静止状态之前非静止状态下最后指定个数的关键帧的图像信息替换静止状态下获取的图像信息,得到替换图像信息。
由于在静止状态下,待定位对象获取的图像应该是相同的,因此,可以利用静止状态之前非静止状态下最后指定个数的关键帧的图像信息不断去替换真实得到的图像帧。
在操作S305,至少利用所述定位算法处理所述替换图像信息得到位姿信息。这样可以避免错误关键帧对系统稳定性造成影响。
在另一个实施例中,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位还可以包括操作S306。
在操作S306,缩小闭环控制的触发相关阈值,其中,所述触发相关阈值与先验信息相关,所述先验信息包括利用运动模型处理惯性测量单元的输出得到的第一位姿信息。
待定位对象在静止状态下不同时刻的位姿信息应该是相同的,如果静止状态下通过图像处理输出的位姿信息的变化量,超过了所述触发相关阈值,则可以通过闭环控制促使图像处理输出的结果趋近于所述第一位姿信息。需要说明的是,闭环控制的输出结果并不一定与所述第一位姿信息相同,可以是相较于通过图像处理输出的位姿信息更加趋近于所述第一位姿信息。
图3D示意性示出了根据本公开另一实施例的对待定位对象进行定位的流程图。
如图3D所示,如果当前运动状态为旋转状态,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位可以包括操作S307~操作S308。
在操作S307,利用所述定位算法处理所述图像信息得到位姿信息。具体可以采用现有技术的定位算法。
在操作S308,屏蔽所述位姿信息中位移相关信息。
例如,当利用所述定位算法处理所述图像信息得到位姿信息中包括X轴、Y轴和/或Z轴的位移(还可以表示为速度、加速度等不为0)时,可以直接屏蔽相关数据,例如,将上述X轴、Y轴和/或Z轴的位移修改为0。
需要说明的是,触发该屏蔽所述位姿信息中位移相关信息的触发阈值可以根据应用场景设定,例如,当定位精度要求较高时,可以减小该触发该屏蔽所述位姿信息中位移相关信息的触发阈值。
纯旋转状态下待定位对象的位移、速度、加速度等信息应该为0,如果不为0则表明当前定位结果存在偏差,可以基于当前运动状态进行修正,这样可以有效提升纯旋转状态下的定位准确度。
图3E示意性示出了根据本公开另一实施例的对待定位对象进行定位的流程图。
如图3E所示,如果当前运动状态为加速度恒定的运动状态(如匀加速和匀减速),所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位可以包括操作S309~操作S311。
在操作S309,利用运动模型处理惯性测量单元的输出得到第一位姿信息。
例如,前端处理IMU数据:对两帧时间内的IMU数据进行预积分,然后利用预积分结果计算待定位对象的位姿信息。
在操作S310,将所述第一位姿信息作为先验信息对利用所述定位算法处理所述图像信息得到位姿信息进行闭环控制,得到第二位姿信息。
在一个具体实施例中,前端处理图像数据:如先提取Harris角点特征,然后利用LK光流(Lucas-Kanade Optical Flow)进行前后帧特征点匹配,接着利用PnP算法求解相机位姿。其中,LK光流对观测量做了两个假设:灰度不变和某个窗口内的像素具有相同的运动,因此,能够从前后两帧中追踪到同一个点的位姿变化信息,而PnP算法可以通过N个特征点与图像中的N个像点,计算出其投影关系,从而获得待定位对象的位姿信息。需要说明的是,与现有技术不同,本实施例中还采用所述第一位姿信息作为先验信息对上述前后帧特征点匹配和/或PnP算法的结果进行闭环控制,避免单纯依靠图像信息进行定位导致的定位失败。
在操作S311,基于扩展卡尔曼滤波EKF、惯性测量单元的输出的不确定度对所述第一位姿信息和所述第二位姿信息进行融合,得到第三位姿信息。
由于图像和IMU分别计算出的位姿应该相同,后端根据这一相等关系列方程,并构建BA优化问题,然后可以由后端使用LM(Levenberg-Marquard)算法求解优化问题,并得到优化后的最终位姿信息,即定位结果。
具体地,利用运动模型预测对IMU数据进行处理,提供第一位姿信息。在后端使用图像匹配结果优化求解第二位姿信息,再利用EKF和基于IMU数据得到的第一位姿信息进行融合得到最终位姿。其中,融合的权重可以与IMU的精度相关,例如,当IMU的精度越高时,则第一位姿信息在融合时的权重越高。
相应地,本公开还提供了与上述定位方法相对应的定位装置。
图4示意性示出了根据本公开实施例的定位装置的框图。
如图4所示,所述定位装置400可以包括:图像获取模块410、状态获取模块420、算法确定模块430和定位模块440。
其中,所述图像获取模块410用于获取图像信息。
所述状态获取模块420用于确定所述待定位对象的当前运动状态。
所述算法确定模块430用于基于所述待定位对象的当前运动状态确定定位算法。
所述定位模块440用于根据所述定位算法和所述图像信息对所述待定位对象进行定位。
在一个实施例中,所述状态获取模块420可以包括运动特征获取单元和状态确定单元。
其中,所述运动特征获取单元用于获取所述待定位对象的运动特征,所述状态确定单元用于利用运动模型处理所述运动特征,得到当前运动状态。
相应地,所述运动特征获取单元具体用于获取惯性测量单元的输出,所述惯性测量单元的输出包括指定个数轴向的输出。
在一个实施例中,所述运动模型包括支持向量机模型,所述运动模型的训练数据包括惯性测量单元的输出,所述惯性测量单元的输出具有当前运动状态标识。
具体地,所述定位模块440可以包括:关键帧获取单元、替换单元和第一位姿获取单元。
其中,所述关键帧获取单元用于获取静止状态之前非静止状态下最后指定个数的关键帧的图像信息,所述替换单元用于利用所述静止状态之前非静止状态下最后指定个数的关键帧的图像信息替换静止状态下获取的图像信息,得到替换图像信息,所述第一位姿获取单元用于至少利用所述定位算法处理所述替换图像信息得到位姿信息。
在一个实施例中,所述定位模块440可以包括阈值修改单元。所述阈值修改单元用于缩小闭环控制的触发相关阈值,其中,所述触发相关阈值与先验信息相关,所述先验信息包括利用运动模型处理惯性测量单元的输出得到的第一位姿信息。
此外,所述定位模块440还可以包括第二位姿获取单元和屏蔽单元。
其中,所述第一位姿获取单元用于利用所述定位算法处理所述图像信息得到位姿信息,所述屏蔽单元用于屏蔽所述位姿信息中位移相关信息。
在又一个实施例,所述定位模块440可以包括第三位姿获取单元、第四位姿获取单元和融合单元。
其中,所述第三位姿获取单元用于利用运动模型处理惯性测量单元的输出得到第一位姿信息,所述第四位姿获取单元用于将所述第一位姿信息作为先验信息对利用所述定位算法处理所述图像信息得到位姿信息进行闭环控制,得到第二位姿信息,所述融合单元用于基于扩展卡尔曼滤波、惯性测量单元的输出的不确定度对所述第一位姿信息和所述第二位姿信息进行融合,得到第三位姿信息。
根据本公开的实施例,所述算法确定模块430针对不同的场景时可以提供更适合当前场景的算法。有关当前运动状态的确定、算法的确定和定位过程可以参见上面的描述,这里不再重复。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,图像获取模块410、状态获取模块420、算法确定模块430和定位模块440中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,图像获取模块410、状态获取模块420、算法确定模块430和定位模块440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,图像获取模块410、状态获取模块420、算法确定模块430和定位模块440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开另一实施例的电子设备的框图。图5示出的电子设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,所述电子设备500包括:一个或多个处理器510、计算机可读存储介质520惯性测量单元530和图像传感器540。该电子设备500可以执行根据本公开实施例的方法。
具体地,处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存等等。
计算机可读存储介质520可以包括程序521,该程序521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行根据本公开实施例的方法或其任何变形。
惯性测量单元530用于获取运动特征,包括但不限于惯性测量单元、GPS定位芯片、北斗定位芯片、网络信号强度获取芯片等。
图像传感器540用于获取图像信息,包括但不限于摄像头等。
程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,程序521中的代码可以包括一个或多个程序模块,例如包括程序模块521A、程序模块521B、……。应当注意,程序模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器510执行时,使得处理器510可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,处理器510可以与计算机可读存储介质520进行交互,来执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,图像获取模块410、状态获取模块420、算法确定模块430和定位模块440中的至少一个可以实现为参考图5描述的程序模块,其在被处理器510执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (8)
1.一种定位方法,适用于待定位对象,包括:
获取图像信息;
确定所述待定位对象的当前运动状态;
基于所述待定位对象的当前运动状态确定定位算法;以及
根据所述定位算法和所述图像信息对所述待定位对象进行定位;
其中,如果当前运动状态为第一运动状态,则所述当前运动状态对应的定位算法至少包括固定关键帧或加强闭环控制中至少一个;以及
其中,所述第一运动状态为静止状态;
所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位包括:
获取静止状态之前非静止状态下最后指定个数的关键帧的图像信息,
利用所述静止状态之前非静止状态下最后指定个数的关键帧的图像信息替换静止状态下获取的图像信息,得到替换图像信息,
至少利用所述定位算法处理所述替换图像信息得到位姿信息。
2.根据权利要求1所述的方法,其中,所述确定待定位对象的当前运动状态包括:
获取所述待定位对象的运动特征;以及
利用运动模型处理所述运动特征,得到当前运动状态。
3.根据权利要求2所述的方法,其中:
所述获取待定位对象的运动特征包括获取惯性测量单元的输出,所述惯性测量单元的输出包括指定个数轴向的输出。
4.根据权利要求3所述的方法,其中:
所述运动模型包括支持向量机模型;
训练所述运动模型包括:
获取惯性测量单元的输出,所述惯性测量单元的输出具有当前运动状态标识;
获取所述惯性测量单元的输出的归一化结果;以及
基于所述归一化结果训练所述运动模型使得所述运动模型的输出趋近所述归一化结果对应的所述惯性测量单元的输出的当前运动状态标识,得到运动模型参数。
5.根据权利要求1所述的方法,所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位还包括:
缩小闭环控制的触发相关阈值,其中,所述触发相关阈值与先验信息相关,所述先验信息包括利用运动模型处理惯性测量单元的输出得到的第一位姿信息。
6.根据权利要求3所述的方法,其中:
如果当前运动状态为旋转状态;
所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位包括:
利用所述定位算法处理所述图像信息得到位姿信息;以及
屏蔽所述位姿信息中位移相关信息。
7.根据权利要求3所述的方法,其中:
如果当前运动状态为加速度恒定的运动状态;
所述根据所述定位算法和所述待定位对象的图像信息对所述待定位对象进行定位包括:
利用运动模型处理惯性测量单元的输出得到第一位姿信息;
将所述第一位姿信息作为先验信息对利用所述定位算法处理所述图像信息得到位姿信息进行闭环控制,得到第二位姿信息;以及
基于扩展卡尔曼滤波、惯性测量单元的输出的不确定度对所述第一位姿信息和所述第二位姿信息进行融合,得到第三位姿信息。
8.一种电子设备,包括:
惯性测量单元,用于获取运动特征;
图像传感器,用于获取图像信息;
一个或多个处理器;以及
计算机可读存储介质,用于存储一个或多个计算机程序,所述计算机程序在被所述处理器执行时,实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213377.8A CN110008856B (zh) | 2019-03-20 | 2019-03-20 | 定位方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213377.8A CN110008856B (zh) | 2019-03-20 | 2019-03-20 | 定位方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008856A CN110008856A (zh) | 2019-07-12 |
CN110008856B true CN110008856B (zh) | 2021-08-17 |
Family
ID=67167498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910213377.8A Active CN110008856B (zh) | 2019-03-20 | 2019-03-20 | 定位方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008856B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106504359A (zh) * | 2016-10-28 | 2017-03-15 | 广东亿迅科技有限公司 | 一种基于位置和运动状态的智能考勤系统及其实现方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2929355C (en) * | 2012-11-02 | 2022-03-15 | Strongwatch Corporation, Nevada C Corp | Wide area imaging system and method |
CN103200518B (zh) * | 2012-11-05 | 2016-06-22 | 哈尔滨工业大学深圳研究生院 | 在线估计运动状态的无线传感器网络目标定位方法及系统 |
US9530222B2 (en) * | 2015-03-30 | 2016-12-27 | Ca, Inc. | Detecting divergence or convergence of related objects in motion and applying asymmetric rules |
US20180096215A1 (en) * | 2016-09-30 | 2018-04-05 | Thomas Alton Bartoshesky | Operator guided inspection system and method of use |
CN106895852A (zh) * | 2017-02-14 | 2017-06-27 | 中国地质大学(武汉) | 一种定位精度评估方法及装置 |
CN108876854B (zh) * | 2018-04-27 | 2022-03-08 | 腾讯科技(深圳)有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN108871311B (zh) * | 2018-05-31 | 2021-01-19 | 北京字节跳动网络技术有限公司 | 位姿确定方法和装置 |
CN109241955B (zh) * | 2018-11-08 | 2022-04-19 | 联想(北京)有限公司 | 识别方法和电子设备 |
-
2019
- 2019-03-20 CN CN201910213377.8A patent/CN110008856B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106504359A (zh) * | 2016-10-28 | 2017-03-15 | 广东亿迅科技有限公司 | 一种基于位置和运动状态的智能考勤系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110008856A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109084732B (zh) | 定位与导航方法、装置及处理设备 | |
US10732647B2 (en) | Multi-sensor fusion for robust autonomous flight in indoor and outdoor environments with a rotorcraft micro-aerial vehicle (MAV) | |
CN107888828B (zh) | 空间定位方法及装置、电子设备、以及存储介质 | |
CN109887057B (zh) | 生成高精度地图的方法和装置 | |
CN110084832B (zh) | 相机位姿的纠正方法、装置、系统、设备和存储介质 | |
Schmid et al. | Stereo vision and IMU based real-time ego-motion and depth image computation on a handheld device | |
CN106814753B (zh) | 一种目标位置矫正方法、装置及系统 | |
Angelino et al. | UAV position and attitude estimation using IMU, GNSS and camera | |
CN107478220A (zh) | 无人机室内导航方法、装置、无人机及存储介质 | |
US20190168870A1 (en) | System and method for tracking targets | |
US10559135B1 (en) | Fixed holograms in mobile environments | |
CN110207693B (zh) | 一种鲁棒立体视觉惯性预积分slam方法 | |
CN109671105A (zh) | 一种视觉导航系统的跟踪恢复方法和装置 | |
CN108235809A (zh) | 端云结合定位方法、装置及电子设备、计算机程序产品 | |
US10896520B2 (en) | System and method for moment capturing | |
JP2020057358A (ja) | ポーズ情報を取得する方法及び装置 | |
CN109618131B (zh) | 一种用于呈现决策辅助信息的方法与设备 | |
CN114638897A (zh) | 基于无重叠视域的多相机系统的初始化方法、系统及装置 | |
CN116952229A (zh) | 无人机定位方法、装置、系统和存储介质 | |
CN110008856B (zh) | 定位方法和电子设备 | |
CN109917644B (zh) | 一种提高视觉惯导系统鲁棒性的方法、装置和机器人设备 | |
CN116631307A (zh) | 显示方法、智能穿戴设备、电子设备、装置和存储介质 | |
Hu et al. | Accuracy enhancement for the front-end tracking algorithm of RGB-D SLAM | |
CN114593735A (zh) | 一种位姿预测方法及装置 | |
Artemciukas et al. | Kalman filter for hybrid tracking technique in augmented reality |
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 |