基于智能手机前后摄像头同时工作的视觉定位方法

文档序号:8362131阅读:657来源:国知局
基于智能手机前后摄像头同时工作的视觉定位方法
【技术领域】
[0001]本发明属于计算机视觉与机器人交叉领域,涉及一种基于流行智能手机平台前后摄像头同时工作的视觉定位方法。
【背景技术】
[0002]在导航定位领域,视觉导航由于仅需要使用简单的传感器,适用于复杂的环境,有着较为广泛的应用。针对纯视觉导航的误差问题,又引入了 IMU和视觉融合的定位和导航方法。
[0003]但以往的视觉定位和导航算法往往在室内应用时存在一定的问题。由于室内光照条件的复杂,如常出现的单侧强光照而另一侧则比较昏暗,进入房间时光照突变等,以往的视觉定位方法会出现交叉的
[0004]随着智能手机的迅速发展,其计算能力已经相当可观,同时也配备了充分的传感器,如陀螺仪,加速度计,气压计,其摄像头的精度也有了非常大的进步。

【发明内容】

[0005]本发明的目的在于针对室内光照条件的复杂,以及低成本实现视觉定位和导航的问题,提出一种基于流行智能手机平台,同时使用前后摄像头的室内定位方法。
[0006]本发明解决其技术问题是通过以下技术方案来实现的:一种基于智能手机前后摄像头同时工作的视觉定位方法,包括以下步骤:
[0007](I)视觉数据获取及预处理:智能手机放置于室内环境,通过智能手机自带的前后摄像头获取视觉图像数据;根据实际应用场景,选定固定的图像获取速率,记为m帧/秒,m取10-20 ;对获得图像进行预处理;
[0008](2)MU数据获取及预处理:获得MU数据,所述MU数据为智能手机自带的陀螺仪和加速度计数据;根据智能手机传感器的性能,选定固定的传感器数据获取速率,记为η帧/秒;
[0009](3)根据步骤I预处理后的视觉数据和步骤2预处理后的IMU数据,进行设备位置和姿态估计,包括以下子步骤:
[0010](3.1)当仅有IMU数据,没有图像数据获得时,使用IMU数据扩展其状态和协方差矩阵;
[0011](3.2)当图像数据到达时,执行以下操作:
[0012](3.2.1)通过特征提取算法(常见的如SIFT,SURF等)获得图像数据的特征点及描述,在单侧的图像帧之间完成特征匹配,利用特征点优化算法(如RANSAC)减少特征匹配的误差;
[0013](3.2.2)根据步骤3.2.1获得的图像特征数据及步骤3.1获得的IMU状态和协方差矩阵及图像数据,使用扩展卡尔曼滤波(EKF),获得摄像头的位置和姿态估计;
[0014](3.2.3)根据步骤3.2.2获得的摄像头位置和姿态估计以及最新的IMU数据,扩展MU状态和协方差矩阵;
[0015](3.3)若有标记无效的单侧摄像头数据到达,则使用另一侧摄像头当前的位置和姿态估计,结合设备上双摄像头相对位置,重新获得无效侧摄像头初始位置,且抛弃其对应的原所有摄像头姿态数据。
[0016]进一步地,所述步骤I具体包括以下子步骤:
[0017](1.1)同时开启智能手机的前后摄像头(分别记为摄像头A和摄像头B),同步前后摄像头的获取速率,使其保持相同的帧速m获取图像数据,禁用自动对焦以避免焦距的改变;
[0018](1.2)图像到达时分别测量并判断其亮度,设置亮度阈值范围为[T1,T2],判断每一帧图像亮度是否在亮度阈值范围内;如图像满足亮度条件,更新对应摄像头的时间标记,进入步骤1.3,否则直接抛弃图像;
[0019](1.3)若双侧摄像头采集的图像均满足亮度条件且获取时间距上次符合要求的图像的获取时间均没有超过时间阈值t,则将双侧图像数据送入步骤3进行融合;
[0020](1.4)若单侧摄像头图像获取时间距上次符合要求的图像的获取时间超过时间阈值t,则标记该摄像头图像数据无效,并把无效信息及另一侧图像数据送入步骤3,同时抛弃该无效摄像头所有已存储数据;
[0021](1.5)若双侧摄像头图像获取时间距上次符合要求的图像的获取时间均超过时间阈值t,则中止定位。
[0022]进一步地,所述步骤3.2.1具体包括以下子步骤:
[0023](3.2.1.1)对步骤I输入的所有图像应用特征响应函数凸显特征点,如SIFT算法常用的高斯差操作;
[0024](3.2.1.2)对步骤3.1.1处理后的图像应用非极值抑制操作,在特征函数的响应图里找出所有区域极小值和极大值;
[0025](3.2.1.3)对步骤I输入的所有图像进行降采样后重复步骤3.1.1和3.1.2,实现特征识别的尺度不变性;
[0026](3.2.1.4)将单侧的多帧图像的特征点相互匹配,实现特征点的对应;
[0027](3.2.1.5)通过RANSAC或类似算法优化特征点匹配结果,去除错误的特征点对应。
[0028]本发明的有益效果是:本发明使用智能手机实现IMU和视觉辅助室内定位,一方面简化了系统的开发,无须自己搭建复杂的软硬件平台,另一方面则可以将其与日常应用结合,实现部分增强现实应用。此外,本发明利用智能手机前后双摄像头的特点,同时使用前后摄像头进行视觉定位,有助于在单侧光照恶劣或光照强度快速变化的场合,如室内,进行较为精确的,可稳定运行的视觉定位。
【附图说明】
[0029]图1是本发明的系统结构图;
[0030]图2是本发明方法的总流程图;
[0031]图3是本发明方法融合流程示意图;
[0032]图4是【具体实施方式】下软件结构的示意图。
【具体实施方式】
[0033]下面以在Android平台上实现本发明方法为例,本发明的系统结构如图1所示。如图2所示,本发明一种基于智能手机前后摄像头同时工作的视觉定位方法,包括以下步骤:
[0034](I)视觉数据获取及预处理:智能手机放置于室内环境,通过智能手机自带的前后摄像头获取视觉图像数据;根据实际应用场景,选定固定的图像获取速率,记为m帧/秒,m通常取10-20 ;对获得图像进行预处理;具体包括以下子步骤:
[0035](1.1)同时开启智能手机的前后摄像头(分别记为摄像头A和摄像头B),同步前后摄像头的获取速率,使其保持相同的帧速m获取图像数据,禁用自动对焦以避免焦距的改变;
[0036](1.2)图像到达时分别测量并判断其亮度,设置亮度阈值范围为[T1,T2],判断每一帧图像亮度是否在亮度阈值范围内;如图像满足亮度条件,更新对应摄像头的时间标记(如摄像头Α),进入步骤1.3,否则直接抛弃图像;
[0037](1.3)若双侧摄像头采集的图像均满足亮度条件且获取时间距上次符合要求的图像的获取时间均没有超过时间阈值t,则将双侧图像数据送入步骤3进行融合;
[0038](1.4)若单侧摄像头图像获取时间距上次符合要求的图像的获取时间超过时间阈值t,则标记该摄像头图像数据无效,并把无效信息及另一侧图像数据送入步骤3,同时抛弃该无效摄像头所有已存储数据;
[0039](1.5)若双侧摄像头图像获取时间距上次符合要求的图像的获取时间均超过时间阈值t,则中止定位。
[0040]根据以上步骤1.1到1.5,选定m为10,即固定前后摄像头以10帧的速度进行图像采集。实验使用Android 5.0 Lollipop平台,使用其新引入的Camera 2 API获取图像数据,其优点是将摄像头的输入输出抽象为流水线,更有利于对流式图像做处理及输出,其后使用OpenCV for Android SDK进行图像处理。为方便图像处理,设置获取图像的格式为YUV_420_888。取t为3s,即单侧超过3s没有符合要求的图像时使用另一侧数据重新估计位置,双侧均超过3s没有符合要求的图像时则中止定位。
[0041]实际使用时,帧数及阈值的选择取决于设备的性能及具体定位精度的要求,提高帧数有利于提高定位精度,但其对设备的性能要求相对较高,而较低的帧数有利于在相对性能较弱的设备上运行算法,但在移动较快的场景下,定位精度可能有一定损失。而较大的超时阈值t则有利于在更恶劣的环境下持续运行算法,但会带来更大的定位误差,而较小的阈值则相反。因此,只要采用基于光照选择使用双侧图像的思想,不论其帧数,阈值及所使用系统如何,都属于本发明的内容。
[0042]本发明设计的基于智能手机平台的图像采集及预处理方法,能够处理以下两种特殊情况:a)长时间单侧光照恶劣,如过于明亮或者昏暗;b)短时间光照突变,如开关房门时。并在一定程度上增加光照良好情况下的定位精度。
[0043](2)MU数据获取及预处理:获得智能手机自带的陀螺仪和加速
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1