一种基于BoVW算法的快速室内定位方法与流程

文档序号:11286601阅读:804来源:国知局
一种基于BoVW算法的快速室内定位方法与流程

本发明涉及一种快速室内定位方法。



背景技术:

现有的室内定位系统一般由离线阶段和在现阶段组成,离线阶段进行数据库建立,在线阶段完成查询图像检索以及查询图像位置计算。现有图像检索方法采用遍历查询的方式,若数据库中数据量较大,遍历查询的方式存在图像检索阶段耗时长,匹配速度慢。由于视觉定位系统使用者时刻处于运动当中,需要在极短的时间内完成用户地理位置的估计,定位时间过长会在定位结果中引入较大误差,致使定位准确率低。



技术实现要素:

本发明的目的是为了解决在现阶段图像匹配耗时长、匹配速度慢以及定位准确率低的问题,而提出一种基于bovw算法的快速室内定位方法。

一种基于bovw算法的快速室内定位方法具体过程为:

步骤一:离线阶段,应用matlab对摄像头进行标定,使用数据采集平台对室内环境进行视频录制并截取图像帧,以获得室内场景的图像信息以及图像所对应的地理位置信息;应用surf算法对图像帧进行特征提取,并将图像特征和图像对应的地理位置存贮在数据库中,完成数据库建立;

所述数据采集平台包括第一摄像机和笔记本电脑,第一摄像机摄像头为工业摄像头或手机摄像头;

surf算法为快速鲁棒特征提取算法;

步骤二:离线阶段,应用bovw算法将从数据库中选取的训练图像转化为对应的bovw直方图;将待定位区域分为l类,从数据库中选取分别属于l类的训练图像,对每一类中的训练图像加上标签,应用svm算法对数据库中训练图像的bovw直方图和图像标签进行有监督训练,获得最优分类函数;

所述bovw直方图为视觉直方图;svm为支持向量机;

步骤三:在线阶段,求得用户查询图像bovw直方图,利用最优分类函数判断用户查询图像所属类别,只在该类别区域内进行图像遍历检索求匹配图像;

用户查询图像为用户在待定位区域内第二摄像机拍摄的图像;

步骤四:应用对极几何原理,根据匹配的图像,求得用户查询图像位置并将查询图像位置坐标返回给用户。

本发明的有益效果为:

本发明在离线阶段使用bovw算法将数据库中训练图像转化为bowv直方图,将待定位区域分为l类,从数据库中选取分别属于l类的训练图像,对每一类中的训练图像加上对应类别标签,应用svm算法对数据库中训练图像的bovw直方图和图像标签进行有监督训练,获得最优分类函数,并在在线阶段直接使用该最优分类函数对用户查询图像所属类别进行判断后,只在该类别所对应的范围内进行图像匹配而不再在整个待定位区域内进行图像匹配,从而减少图像匹配阶段所消耗的时长,加快匹配速度,提高了定位准确率。因此,bovw算法与svw算法的结合是为了解决上述问题所采用的技术手段。

在离线阶段,采用基于视频流的方法建立数据库、surf算法对数据库中图像进行特征提取、使用本发明提出的bovw模型对图像进行建模,并使用svm有监督学习方式对数据库中图像进行训练。在现阶段,使用离线阶段获得的分类器对查询图像进行检索,将检索图像用于后续基于对极几何的位置计算中。通过这种方式,以离线时间换取在线时间,减少在现阶段的时间消耗。

本发明解决了在复杂的室内场景下,离线时间建立的数据库中数据量较大时,图像检索耗时过长的问题,本发明提出一种基于bovw算法的快速图像检索算法,将图像建模分类后,在相应小区域内进行检索,减小其在复杂的室内场景下的图像检索时间开销。本发明尤其适用于数据库图像数据量较大时,可以明显减少图像检索时间开销。

结合表1采用本发明研究的算法与原算法的图像匹配计算时间,当数据库中图像数目为60时,原算法的平均匹配时间为1.121s,本发明中算法的平均匹配时间为0.382s,平均匹配时间缩短百分比65.83%,当数据库中图像数目为120时,原算法的平均匹配时间为1.206s,本发明中算法的平均匹配时间为0.484s,平均匹配时间缩短百分比59.90%。得出本发明一种基于bovw算法的快速室内定位方法速度快。

附图说明

图1是本发明中数据采集平台的结构示意图;

图2是基于视频流的数据库快速建立流程图;

图3是对极几何关系示意图;

图4是bovw建模过程中产生的特征码本的构成示意图;

图5a是数据库中图像示意图;

图5b是图5a中数据库中图像的bovw模型视觉直方图;

图6是实验环境中对环境进行分类的样本标签分布方式示意图;

图7a1是类别1标签中图像示意图;

图7a2是类别1标签中图像在bovw模型下的视觉直方图结果图;

图7b1是类别2标签中图像示意图;

图7b2是类别2标签中图像在bovw模型下的视觉直方图结果图;

图7c1是类别3标签中图像示意图;

图7c2是类别3标签中图像在bovw模型下的视觉直方图结果图;

图7d1是类别4标签中图像示意图;

图7d2是类别4标签中图像在bovw模型下的视觉直方图结果图;

图7e1是类别5标签中图像示意图;

图7e2是类别5标签中图像在bovw模型下的视觉直方图结果图;

图7f1是类别6标签中图像示意图;

图7f2是类别6标签中图像在bovw模型下的视觉直方图结果图;

图8a是本发明中所用bovw模型与svm有监督学习算法对原始样本的分类准确度表现示意图;

图8b是本发明中所用bovw模型与svm有监督学习算法对修改样本的分类准确度表现示意图;

图9a为本发明输入图像;

图9b为传统图像检索算法的图像检索输出图;

图9c为本发明算法图像检索算法的图像检索输出图;

图10是本文提出的快速图像检索与匹配对定位精度的影响,cdf为累积概率。

具体实施方式

具体实施方式一:本实施方式的一种基于bovw算法的快速室内定位方法具体过程为:

步骤一:离线阶段,应用matlab对摄像头进行标定,使用数据采集平台对室内环境进行视频录制并截取图像帧,以获得室内场景的图像信息以及图像所对应的地理位置信息;应用surf算法对图像帧进行特征提取,并将图像特征和图像对应的地理位置存贮在数据库中,完成数据库建立;

所述数据采集平台包括第一摄像机和笔记本电脑,第一摄像机摄像头为工业摄像头或手机摄像头;

工业摄像头为大恒工业摄像机,型号为mer-030-120ux(-l);

surf算法为快速鲁棒特征提取算法;

步骤二:离线阶段,应用bovw算法将从数据库中选取的训练图像转化为对应的bovw直方图;将待定位区域分为l类,从数据库中选取分别属于l类的训练图像,对每一类中的训练图像加上标签,应用svm算法对数据库中训练图像的bovw直方图和图像标签进行有监督训练,获得最优分类函数;

所述bovw直方图为视觉直方图;svm为支持向量机;

步骤三:在线阶段,求得用户查询图像bovw直方图,利用最优分类函数判断用户查询图像所属类别,只在该类别区域内进行图像遍历检索求匹配图像;

用户查询图像为用户在待定位区域内第二个摄像机拍摄的图像;

步骤四:应用对极几何原理,根据匹配的图像,求得用户查询图像位置并将查询图像位置坐标返回给用户。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中离线阶段,应用matlab对摄像头进行标定,使用数据采集平台对室内环境进行视频录制并截取图像帧,以获得室内场景的图像信息以及图像所对应的地理位置信息;应用surf算法对图像帧进行特征提取,并将图像特征和图像对应的地理位置存贮在数据库中,完成数据库建立;具体过程为:

应用matlab对摄像头进行标定:

首先,打印一张棋盘格标定板,贴在一个水平面上;然后,第一摄像机从不同角度拍摄n张模板图像;再将模板图像导入matlab,通过matlab程序检测出模板图像中的角点;最后求出第一摄像机的内参数、外参数和畸变系数;n取值为4-10;

数据采集平台使用视频流的方式对室内待定位区域进行视频录制并截取视频帧,根据视频帧频率及运动速度获得室内场景的图像信息以及图像所对应的地理位置信息存入数据库中;过程为:

步骤一一、在待定位区域内建立参考坐标系,并且选择坐标原点;

步骤一二、利用图1中的数据采集平台对待定位区域进行视频采集;

步骤一三、对采集的视频进行图像帧提取;

步骤一四、计算提取的图像帧的地理位置坐标,并将计算获得的地理位置坐标作为图像帧的地理信息存入数据库中;

图像帧的地理位置坐标计算如公式(1)所示,

式中,m表示采集的视频流的帧速率,v为数据采集平台运动速度,α为数据采集平台运动方向和坐标系x轴夹角,(x0,y0)表示建立参考坐标系的坐标原点,(xn,yn)即为第n帧图像所对应的地理位置坐标,n取值为正整数。

采用基于视频流的方法建立数据库,首先对室内环境进行坐标系建立,使用承载了摄像头的匀速移动采集平台,获得对室内环境信息的录制。得到视频之后对视频中的帧进行提取,并根据其帧频率及运动速度获得每帧图像所对应的具体地理位置信息。提取每帧图像的surf特征,将其surf特征和地理位置储存在数据库中。

针对上述实际应用中基于图像采集的数据库建立方法费时费力以及基于图像采集的数据库建立方法难以满足数据库需要实时更新的需求的问题,本文提出了基于视频流的数据库快速建立方法,来降低数据库建立过程中的时间开销,提高数据库建立效率。

由于数据库中的两部分信息分别为室内场景的图像信息以及图像所对应的地理位置信息,因此,基于视频流的数据库快速建立方法中应当能够包括室内场景的图像信息以及图像所对应的地理位置信息。基于视频流的视觉定位数据库快速建立流程如图2所示。

在计算得到图像帧的地理位置坐标之后,为了减小数据库的对存储空间的需求,需要进行图像帧的图像特征提取。更进一步,考虑到后续图像检索工作的需求,在数据库图像特征提取的过程中分别进行全局图像特征提取和局部特征提取,相应地,选择的surf局部描述子。在此基础上,将提取surf向量作为室内图像特征信息。通过上述方法可以完成数据库中所需要的两部分信息采集工作,从而以一种快速的方式建立了视觉定位系统的数据库。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二中离线阶段,应用bovw算法将从数据库中选取的训练图像转化为对应的bovw直方图;将待定位区域分为l类,从数据库中选取分别属于l类的训练图像,对每一类中的训练图像加上标签,应用svm算法对数据库中训练图像的bovw直方图和图像标签进行有监督训练,获得最优分类函数;具体过程为:

步骤二一、分割图像,并提取图像块的surf特征:

对数据库中图像按一定步长划分为图像块,对每个图像块进行surf特征提取,每个图像块得到一个64维的surf局部特征描述子;

一定步长取8、12、16或20;

数据库中每幅图像的大小为640×360,基于surf算法,取步长为8个像素,对每幅图像按79×44的网格分为3476个图像块,每个图像块得到一个64维的surf局部特征描述子,因此每张图被表示为一个3476×64大小的矩阵,本文的训练与测试样本中共有360张图像,所以本实验中的数据量是360×3476×64。

步骤二二、对64维的surf局部特征描述子进行聚类获得码本:

将所有的64维的surf局部特征描述子进行k均值聚类,聚为k类,即为码本;

k取值为正整数;

对于特征码本形成的过程,一种简单而有效的的分类方法是对所有的64维的surf局部特征描述子进行k均值聚类,我们将测试样本和训练样本中的360张图像进行处理,将每一张图像分割为3476个图像块,并通过k均值聚类的方法将这些图像块聚类为300类。由于聚类中心是由每类中各个图像向量的均值表示,则我们在每一类中随机选取一个图像块作为该类的代表;

步骤二三、从数据库中选取的训练图像转化为对应的bovw直方图:

判断每副训练图像中的图像块属于码本中的哪一类,遍历每幅训练图像中的所有图像块,统计每一类中包含的图像块数目,将每一类中包含的图像块数目除以所有图像块数目,每一副图像转化成k维向量,用bovw直方图表示;

通过聚类中心来对数据库中图像进行描述,其中左图是数据库中的一幅图像,右图是图像中包含特征码本中视觉特征的频率分布情况。利用聚类中心获得码本后,对图像进行直方图统计,也就是看每张图片中的3476个关键点与哪个聚类中心的欧式距离最小,然后在该聚类中心所对应的聚类中心上加1,注意由于这里每张图片的关键点的数目都是一样的,所以归一化的影响并不是特别的关键,但是如果每张图片上关键点的数目不是一样的,那就必须进行归一化,也就是将词数变成词频,就是除以总点数。所有视觉词出现的频率之和为1。

步骤二四、将待定位区域环境进行划分,划分为l类,对每一类根据摄像头拍摄方向和区域加上相应类别标签;如图6分为6类,标签为1-6;

步骤二五、对分别属于l类的训练图像加上相应类别标签,应用svm算法对从数据库中选取的训练图像的bovw直方图和类别标签进行有监督训练,获得最优分类函数;

划分为实验者根据室内环境特征进行划分,比如图7a1-7f2。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中在线阶段,对用户输入的查询图像构建用户查询图像bovw直方图,利用最优分类函数判断用户查询图像所属类别,只在该类别区域内进行图像遍历检索求匹配图像;具体过程为:

步骤三一、对用户输入的查询图像进行bovw直方图构建;具体过程同步骤二一到步骤二三;

步骤三二、根据步骤二得到的最优分类函数判断用户查询图像所属类别;

步骤三三、在相应类别的数据库图像中进行遍历查询,得到大于等于四张与用户查询图像匹配的图像。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述所述步骤四中应用对极几何原理,根据匹配的图像,求得用户查询图像位置并将查询图像位置坐标返回给用户;具体过程为:

x为用户查询图像在步骤一设定坐标系x轴位置;y为用户查询图像在步骤一设定坐标系y轴位置;z为用户查询图像在步骤一设定坐标系z轴位置;x′为匹配图像在步骤一设定坐标系x轴位置;y′为匹配图像在步骤一设定坐标系y轴位置;z′为匹配图像在步骤一设定坐标系z轴位置;t为转移向量;r为旋转矩阵;

e=[t]×r

e为本质矩阵,映射[·]×表示将一个三维向量映射成一个3×3的反对称矩阵;

f=a-tea′-1

其中,a和a′分别表示第一个摄像机和第二个摄像机的固有参数矩阵,矩阵f被称为基本矩阵,表示两幅图像中两个相对应的像素点之间的基本关系;t为转置。

f通过八点法求取;

第一个摄像机为数据采集平台上的摄像头,用于步骤一中数据库建立,摄像头为工业摄像头或手机摄像头;

第二个摄像机用于拍摄步骤三中用户查询图像,摄像头为手机摄像头。

对极几何关系存在与任意的两个摄像机系统之间。如图3所示。c和c′分别表示两个相机系统的光学中心。m为空间中一点,m为其在第一幅图像i中的像,m′为其在第二幅图像i′中的像。在这种情况下,m′被约束在m位于图像i′中的极线lm′上,相对应地,m被约束在m′位于图像i中的极线lm上。图像i中的像点位于图像i′中的极线都通过光学中心连线cc′和像平面i′的交点e′,相对应地,图像i′中的像点位于图像i中的极线也都通过光学中心连线cc′和像平面i的交点e。在特殊情况下,如果两个摄像机光心的连线与其中一个或者全部两个像平面平行,那么其中一个极点或者全部两个极点将会处在无限远的位置上,并且两条极线将会互相平行。在不同视角同一物体的图像进行匹配过程中,对于第一幅图像中的任意一点,该点在第二幅图像中所对应的点一定位于该点在第二幅图像中所对应的极线上。因此,对极几何约束条件可以将匹配过程中对应点的搜索空间由二维空间降低为一维线性空间,大大减小了多视角匹配过程中的计算开销。

从图3中可以看出,在计算机视觉领域,对极几何约束关系所描述的是不同摄像机系统之间的相对位置关系。在这种对极几何约束下,上述两个相机系统的位置关系可由旋转矩阵r和转移向量t来描述。

其它步骤及参数与具体实施方式一至四之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

本实施例一种基于bovw算法的快速室内定位方法具体是按照以下步骤制备的:

1.采用基于视频流的方法建立数据库,首先对室内环境进行坐标系建立,使用承载了摄像头的匀速移动采集平台,获得对室内环境信息的录制。得到视频之后对视频中的帧进行提取,并根据其帧频率及运动速度获得每帧图像所对应的具体地理位置信息。提取每帧图像的surf特征,将其surf特征和地理位置储存在数据库中。

数据采集平台装备有工业摄像头、手机摄像头、激光雷达以及电源等设备用于实验数据采集;除此之外,该数据采集平台配备有可升降云台和万向轮用于控制数据采集平台运行;

2.为了获得摄像头的准确参数,需要进行摄像头标定,具体步骤如下:首先,打印一张棋盘格标定版,贴在一个水平面上;然后,从不同角度拍摄若干张模板图像;再将图片导入matlab,通过matlab程序检测出图像中的角点;最后求出摄像机的内参数、外参数和畸变系数。

3.在哈尔滨工业大学科学院2a栋12层,推着承载着充电电池、笔记本电脑、两个工业摄像头的多媒体移动采集平台,同时运行笔记本中的matlab程序实现两个工业摄像头的调用,对走廊中的环境进行录制,得到两个视频。

4.在构建bovw模型过程中,本发明中将以surf特征的相关算法作为基础,并对其稍作改动。数据库中每张图像的大小为640×360,由surf的算法原理,取步长为8个像素,对每幅图像按79×44的网格分为3476个图像块,每个图像块得到一个64维的图像局部特征描述子,因此每张图被表示为一个3476×64大小的矩阵,本文的训练与测试样本中共有360张图像,所以本实验中的数据量是360×3476×64。对于特征码本形成的过程,一种简单而有效的的分类方法是对所有的图像特征进行k均值聚类,我们将测试样本和训练样本中的360张图像进行处理,将每一张图像分割为3476个图像块,并通过k均值聚类的方法将这些图像块聚类为300类,即上一节中所述的特征码本。由于聚类中心是由每类中各个图像向量的均值表示,则我们在每一类中随机选取一个图像块作为该类的代表,如图4所示。

通过聚类中心来对数据库中图像进行描述,如图5a、5b所示,其中左图是数据库中的一幅图像,右图是图像中包含特征码本中视觉特征的频率分布情况。利用聚类中心获得码本后,对图像进行直方图统计,也就是看每张图片中的3476个关键点与哪个聚类中心的欧式距离最小,然后在该聚类中心所对应的聚类中心上加1,注意由于这里每张图片的关键点的数目都是一样的,所以归一化的影响并不是特别的关键,但是如果每张图片上关键点的数目不是一样的,那就必须进行归一化,也就是将词数变成词频,就是除以总点数。所有视觉词出现的频率之和为1。

5.在离线阶段对样本进行训练的结果会直接影响在线阶段分类的准确性。训练结果越准确,分类器的分类性能就越好。根据svm的原理,训练的最优结果是使训练错误率尽可能接近于零,而并不一定恰好为零。首先,如图6所示,本发明将数据库中图像按照其视觉上明显的特征及其拍摄方向,不均等的划分为如下6类样本标签,在这里引入人为的不均等划分方式,是由于由人眼可直接给出大致的特征分部情况,例如,在类别1中走廊左侧的海报及门相对较多,而类别二中走廊右侧的门的数量比较多。并使用bovw算法对每一类别中的图像进行建模,在每一类中去一个示例图像,将图像和图像特征直方图展示在图7a1、7a2、7b1、7b2、7c1、7c2、7d1、7d2、7e1、7e2、7f1、7f2中。使用svm算法对其进行训练,获得分类器。

使用40张图像作为训练样本,20张作为测试样本,图8a、图8b为本发明的分类准确度。当测试样本与训练样本归属于同一个标签类别时,如图8a所示,分类的准确度达到100%。当在每一类的测试样本的20张图像中人为存入2张其他类别的图像时,如图8b所示,可看出1、2、4、5、6类的分类准确度依然为100%,加入的其他类别图像也得到了正确的分类,只有第3类标签的图像中有1张图像的分类结果是错误的。由此可知,本文中所提出的分类算法的准确度很高,具有可行性。

6.在将分类算法应用于在线阶段的图像检索中,以图9a中输入图像为例,作为用户查询图像输入到本文的定位系统中,得到其属于第三类标签,然后在数据库中属于第三类的图像中进行便利检索,得到检索结果。以两种算法对输入图像进行处理,来分析比较本课题的图像检索算法的检索准确度与原始算法的准确度。输入图像经过不同图像检索算法的输出图像如图9b、9c所示。从图9b、9c中可以看出,采用两种不同的图像检索算法的输出图像基本相似,并且基于对极几何理论的视觉定位算法所需要的图像检索过程的输出图像并不要求与输入图像完全一致。因此,基于有监督图像分类的快速图像检索算法以离线时间换取在线时间,在显著降低图像检索时间开销的基础上,不会对输出图像的准确度造成较大影响。根据对用户输入图像进行分类的结果可以实现图像的快速检索与匹配,并将结果应用于后续定位过程中。在数据库中分别选择60张,120张图像,分别使用本课题算法与原始算法进行图像检索,并在表1中给出了采用本课题中的算法与原算法的图像匹配计算时间比较。该结果说明,基于有监督分类的图像检索算法可以在保证可靠性的基础上,提升视觉定位过程中对数据库中图像的检索与匹配速度,从而缩短定位计算所需要的时间。然后采用对极几何方法,使用匹配图像进行位置计算,采用基于有监督图像分类的快速检索算法,对定位精度造成的影响图10所示。可以看到累积概率没有明显差异,未使用本文算法的平均定位误差为1.6325m,使用本文算法的平均定位误差为1.8543m。这说明尽管本课题研究的算法采用了简明的图像特征提取方法、构建了视觉特征直方图并引入了有监督分类来共同实现对数据库的快速检索与匹配,仍然能够在尽量保证图像的正确检索与匹配的前提,满足对定位精度的要求。

表1采用本发明研究的算法与原算法的图像匹配计算时间比较

本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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