面向移动设备的摄像定位导航系统
刘毅 孟建春 刘珊瑞 胡昊
(****大学计算机学院
北京
100083
)
摘
要:本系统为支持摄像功能的可移动无线终端提供了一种无语言障碍的服务。通过这种服务,移动终端可以通过拍照的方式获取用户所在的位置以及方向的信息——定位。如果用户将所在位置和目的地的照片先后发送给系统,那么系统则会通过在地图上绘制路径的方式指引你到达目的地——导航。本文利用HSV颜色空间图像的色调和纹理的统计特征,结合自主提出的适用于本系统的颜色分布信息和类分水岭的精确匹配算法,通过加权欧式空间距离的组织分类方法,展示了图像检索技术的一种新型应用。
关 键 词:定位;导航;HSV颜色空间;直方图;共生矩阵;加权欧式距离
中图分类号:TP391
文献标识码:A
文章编号
:
Position and Navigation System Based-on Photography for Mobile Device
Liu Yi Liu Shanrui Meng Jianchun Hu Hao
(School of Computer Science and Engineering, Beijing University of Aeronautics and Astronautics, Beijing 100083, China)
Abstract:
The system provides a service to the mobile wireless terminal device supporting camera. Through this service, mobile device users can obtain the location and direction by taking photos
——
Position. If user send the pictures of both location and destination, the system will navigate you to the destination by drawing the shortest path on map from your location there
——
navigation. This paper utilizing the statistical characteristics of hue and texture in HSV color space, integrating the independently proposed color distributing information, along with the organization and classification method of weighted Euclidean space distance, brings forth a new application of image retrieval.
Keywords:
Position; Navigation HSV color space; histogram; co-occurrence matrix; weighted Euclidean distance
引言
本系统提出了一种新的定位导航方式,服务于支持联网和摄像功能的可移动终端设备。用户可以用设备拍照来获取其所在地的位置信息,不仅使操作更加的个性化,而且让使用者避免了可能存在的语言障碍。
先由系统管理员收集和组织某个区域内显著物体(在本系统中为建筑物)的样本照片,区域大小和采样的多少由定位导航的范围和精度决定。系统分析样本,并把各个特征地点的照片转变为模式。待系统部署完毕,利用加权欧式距离的分类方法找到与用户提交照片最相似的模式,给用户提供相应位置信息的服务。
1 设计概述
图1为系统的结构示意图。现将图示中各个模块的功能简介如下:
1.1 定位引擎模块
定位引擎模块是整个系统的核心,实现了对用户照片的建模以及识别,是系统可靠性的决定因素之一。
其主要功能有:
1)利用照片构造样本特征向量;
2)组织样本,构建模式库;
3)对样本分类,并匹配到模式;
4)对模式库进行增、删、改操作;
在本文第
4部分还可以看到对此模块的一些扩展性的应用。
1.2 地图控制模块
实现了模式与地图对应点的匹配以及路口的描述,是系统为用户提供了定位位置和导航路径的关键部分。
系统在第一次部署时,需要管理员在地图上手工匹配模式与位置的对应,并标志出路口(系统配有方便的工具,用鼠标在地图上点击即可)。
对不同的地区采用不同的地图,本系统就可以适用于不同的环境,所以说,此模块给系统带来了更多的实用性。

图
1 系统结构示意图
1.3 通信模块
本系统使用
Motorola A780手机作为试验用客户端,其相关的性能参数如下:
主屏分辨率:
240×320像素
主屏颜色:
6万色
摄像头像素:
130万像素
内存:
48MB
试验机上安装了自主开发的具有地图展示和交互功能的
J2ME软件。该软件使用socket与服务器端通信,并将接受到的位置或导航信息展示在屏幕上同用户进行交互。
通信双方利用应用层上开发的握手协议保证了无线通信时数据传输的流量使用率、可靠性和正确性,同时,此模块的运行速度也是影响用户体验的关键所在。
1.4 其他模块
GUI管理模块给系统管理员提供了图形用户界面,方便管理员进行建库、维护、标志地理位置以及测试调试等工作。
代理模块为系统设立缓冲,减轻系统负荷。更重要的是它为管理和通信模块提供访问核心模块的接口,减小了耦合,方便系统的更新和扩展。
数据库则采用
xml文件,记录模式的特征量和地图的信息数据。
2 算法及其实现
本系统尝试去模仿人识别地理位置的过程,通过使用建筑物的颜色、纹理以及空间分布等特征进行初识。由于单张照片的信息量很有限,用户提交的样本照片可能被匹配到不同地点的模式。此时,系统可能要求用户提交相邻建筑的照片,进行第二次识别,以增加系统的正确性,以免错报。
2.1 特征向量构造
2.1.1 颜色特征
本系统,我们选择了符合人眼感知习惯的HSV颜色空间(图2),尽可能地减小光
照对照片样本的影响,降低样本照片采样的时间密度,增强系统的鲁棒性。

图2 HSV颜色空间
根据HSV颜色空间的定义,对于任意3个在[0,255]范围内的R、G、B值,其对应HSV颜色空间中的H, S, V分量可以由下面给出近似公式计算,完整公式请参见参考文献[2]:


根据这样的转化关系,照片每个像素的RGB值都对应了一个HSV值。
在系统实现时
, 我们根据HSV空间的特征, 在降低直方图的维数并保留足够的颜色信息前提下,对HSV空间进行非均匀量化, 得到27种代表颜色编码:
1)把
V < 0.2的颜色认为黑色, code = 0;
2)如果
S < 0.1,若0.2 <= V < 0.7,则颜色为灰色,code = 1;若V >= 0.7,则为白色,code = 2;
3)其他颜色认为是彩色,将其划分为
24种编码。code = 3 + 4 * h + 2 * s + v;

这样,我们就可以构造出
27箱格的颜色直方图。现已北航十二号学生公寓楼为例,展示构造的直方图:

图
3 北航十二号公寓楼

图
4 颜色直方图
本系统提取出色调直方图的色调总数、出现频率最多的色调、方差和能量四个统计特征量。正因为是统计,所以这些特征量具有一个很重要的特性——旋转不变性,当用户拍摄相片存在着一定角度的旋转时,并不影响识别结果,这同时也就增强了系统的可靠性。
2.1.2 纹理特征
当然,在一个范围相对较大的区域里,直方图相似的特征物同时存在的概率仍然是相当大的。为了解决这种情况,需要引入照片的其他特征。
可以想到,特征物之间之所以表现出不同,除了颜色的因素外还有各自特有的纹理,像建筑物窗格的宽窄及分布,阶梯走向,砖墙等等都构成了相应的纹理分布。下面一幅图就展现了图
3的局部纹理特征,用27阶的颜色共生矩阵来描述:

图6 颜色共生矩阵
本系统提取颜色共生矩阵的反差、能量、相关和熵四个统计特征:
反差(或称为主对角线的惯性矩):

对于粗纹理,由于
m(h, k)
的数值较集中于主对角线附近,此时
h - k
的值较小,所以相应的
CON
值也较小。相反,对于细纹理则相应的
CON
值较大。
能量
(
或称为角二阶矩
)
:
(5)
这是一种对图像色调分布均匀性的度量。当
m(h, k)
的数值分布较集中于主对角线附近时,其相应的
ASM
值较大;反之,
ASM
值则较小。
相关:

其中μx,μy,σx,σy分别为mx,my的均值和标准差, 是矩阵M中每列元素之和; 是矩阵M中每行元素之和。相关量是用来描述矩阵中行或列元素之间相似程度的,它是色调线性关系的度量。
熵:

当颜色共生矩阵中各m(h, k)数值相差不大且较分散时,ENT值较大;反之,若m(h, k)的数值较集中时,ENT值较小。
2.1.3 特征量的空间分布
由于系统使用了全局的统计特征,导致两地照片的色调直方图和共生矩阵近似,在不进行二次识别的情况下就可能出现误识别。于是提出将颜色的区域分布特征归入模式。
首先,取宽和高的较小者为边长,裁剪出样本照片居中的正方形部分。作这一步处理的原因,一是为了尽量的减少手机的平台相关性,因为不同的手机摄像头拍摄的照片宽高不等;二是为了减少天空和可变背景等给识别带来的影响,因为天空较常的出现在照片的顶部,而背景则较常出现在左右部分;三是因为特征物一般都出现在照片的中心,这样就可以将分析区域集中化。
然后,将正方形有效区域划分成4×4的网格,并把第一行居中的两个小正方形合并成一个矩形,再将同样的处理应用于最后一行、第一列和最后一列。最后将正中的四个小正方形并为一个较大的正方形。至此,图像的分析部分被划分成了如下的区域:

图
7 北航主楼
由于图像四个角上的区域提供的信息不是特别重要,也为了减少特征向量的维度,所以系统只对上、下、左、右、中五个部分的特征进行提取和分析。每个部分色调直方图和共生矩阵提取八个特征量,则整个照片共能提取
40个特征量。
2.2 分类器构造
有了照片的特征,系统就可以将其抽象成为样本,则每个样本就对应了一个特征向量。注意,为了更好得实现对样本的组织和分类,各个向量在构造时应该进行归一化。可以使用最大值归一化或高斯归一化(参考文献
[6])方法。
2.2.1 欧式距离分类器
将某个样本
P的特征向量视为n维空间中的一个点,则一个模式Q与P的欧式距离定义为:

若要指定不同维度对距离的贡献量,则可以采用加权的欧式距离:

按照色调的空间分部信息,五个区域中,中部区域特征值权重比例应该最大,因为特征物的极大部分都应该出自该区域;其次是上部;左右和下部权重相对应该较小,因为左右两边比较容易带入背景,而下部因为用户的拍摄习惯,会带入不等面积的地面成分。具体权值的设定需要考虑系统针对的特征物,并要经过实验验证,取最佳值。
如不加说明,下文所提及的距离均指欧式加权距离。这样,如果定义一个最小误差限,则每一个模式都会对应一个高维封闭曲面,曲面上的点与该模式的距离都等于最小误差限,该模式的特征向量就成了曲面包围体的质心。
现给定一个样本,找出与它距离最近某个模式。若距离在最小误差限以内,则将此样本归为该模式的一个样本,否则认为该样本是一个新的模式,并将其加入模式库中。
由此可见,随着模式的不断添加,模式空间的包络范围也就不断地扩张,识别率便随之上升,精度也会有相应的提高。
另外,由于采用了统计特征,可能导致原本毫不相关的两张建筑物相片得到的特征向量近似。为了弥补这个缺陷,我们提出先通过加权欧式距离对模式特征向量进行排序,提取排名前
3的模式的原始照片,再分别与用户提交的照片进行精确匹配,并从中选出最优一个模式。这样,便大大地增加了系统的正确识别率。
上述精确匹配的方法很多,比如使用角点检测法,优先选择匹配角点数多的模式。但由于拍摄时的旋转会对角点检测产生负面影响,在保留该方法的同时,我们提出了一个更适用于系统的类分水岭匹配方法:
把按照颜色编码量化后的图像视为三维统计直方图(长宽分别为
x、y轴,量值为z轴),则可以在直方图中找到极大值点(若为极大平面,则取其质心),并记录其量值。将两张相片的极大值点进行空间分布和量值的综合评定,最相似则最优。
2.3 通信
根据现有技术,系统准备了
B/S和C/S两套实现通信的方案:
方案一,基于
WEB的B/S架构,用户使用移动设备的浏览器进行交互。
优点,不用专门的客户端软件;
缺点,在系统开发阶段,手机浏览器对
javascript支持不好,用户体验差。
方案二,利用
J2ME(GPRS)与JAVA网络技术搭建C/S结构。
优点,用户体验好,技术比较成熟;
缺点,需要移动设备配备客户端软件。
考虑到系统现处于验证阶段,为了提高开发进度,此模块采用了
C/S架构,使用TCP作为通信协议,并采用了多线程技术。
由于无线传输的不稳定性和较高的丢包率,系统在通信中将客户端提交的每个数据包进行编号,并加入到应用层的握手协议中。在租用的
ADSL/1Mb的网络环境下,系统经过大量的实验验证,当数据包大小为1K时,流量利用率达到最大。
2.4 路径搜索
系统采用A*启发式搜索算法,其启发函数是当前坐标点到终点坐标的距离。下图展示了通过该算法搜索出来路径(红色折线),其中路口信息在系统部署前已经建立完毕。

图9 路径搜索结果
3 实验结果
系统对北京航空航天大学校内28个建筑物建立了模式库。为了更好的描述系统的可靠性,在实验中没有进行二次识别(参考第二2部分的引言)和精确匹配(参考2.2.1),以便生成误识率。
我们于某日下午对建库的28个建筑物另行拍照(光线太暗时,比如夜晚,系统不能正常工作),结果如下:
正确识别21个,错误7个,误识率为25%。错误样本中有4个因为相互间建筑风格相同(北航的一二三四号教学楼)导致了误识,可以通过二次识别予以避免;另外3个是由于采用了统计特征造成了误识,可以通过精确匹配予以避免。
采用了二次识别和精确匹配后,误识率降至0,达到了理想的效果。
4 前景
综上所述,本系统在定位导航上具有非常诱人的应用前景:
1、它对区域性定位导航应用支持很好,非常适合于旅游景区、大型展会、大学校园等场景;
2、定位精度高。因为用户是就近拍摄的特征物照片,所以可以相当精确的告知用户的位置。另外,通过与特征物的相对位置关系,用户还可以在地图上分辨出自己的朝向(东南西北),而这是一般的
GPS定位系统所不能办到的;
3、用户可以通过搜索和预存留目的地照片的方式获得返程的路径,其他定位系统同样不能办到;
4、用户体验良好。随着手机的愈发普及,用它代表文中提及的移动终端是将会是不容置疑的。通过拍照这种新鲜的交互手段获得自己的位置信息,相信用户会得到不同寻常的体验;
5、系统对资源的需求较低,部署费用低廉。
另外,我们还可以根据定位引擎模块派生出其他实用的应用出来。例如用它作为导游系统,当用户拍摄一个名胜古迹的相片上传后,该名胜的历史、名称来由等等信息便可以悉数地罗列到用户手机上。由此可见,在实用性方面,本系统也具有相当的竞争力。
5 结语
本文从系统结构、算法实现、实验结果以及前景四个方面较为详尽地介绍了本系统。由于笔者自身能力的局限性,系统可能还隐藏了相当一部分的
BUG,在现阶段还未达到满足市场应用的高度。但作为一个新型应用的原型,她还有着相当大的扩展空间。在未来的时间里,我们小组将不断的地完善系统的要素,争取让她有朝一日能够走入到生活中。
参考文献
:
[1]
赵清杰
,
钱芳
,
蔡利栋译
.
计算机视觉
.
机械工业出版社
. 2005.
[2]
阮秋琦
,
阮宇智等译
,
数字图像处理(第二版)
. 2005.
[3]
陈书海
,
傅录祥
.
实用数字图像处理
.
科学技术出版社
. 2005.
[4]
徐勇
,
荆涛等译
.
神经网络模式识别及其实现
.
电子工业出版社
. 1999.
[5]
龚波
,
冯军
,
程群梅等译
.
设计模式
Java
手册
.
机械工业出版社
. 2006