邹益民,黄一帆,王维俊,梅育荣
(金陵科技学院网络与通信工程学院,江苏南京,210031)
近年来,基于位置服务(LBS,location-based service)在智能机器人、商场购物指南等诸多领域得到了广泛的应用,也极大地促进了室内定位技术的发展。传统的室内定位技术主要包括:WiFi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等,它们均需要建立一个复杂的定位设施环境,相应的系统成本与能耗均较高。随着LED及图像处理技术的不断成熟,基于可见光的室内定位技术受到越来越多的研究人员的关注。LED光源具有功耗小、调制速度快、响应时间短等优点,配合可见光定位技术具有无电磁干扰、照明定位一体化等特点,已成为室内定位技术研究的一个重要方向[1-3]。
本文设计的室内定位系统是一种基于可见光的简易图像定位装置,基于指纹定位方案。即首先需在室内特定位置放置一定数量的LED标志点,然后借助智能定位装置采集不同位置处的图像特征,将这些图像特征及对应采集位置结合形成一个定位指纹库。实际定位时,定位装置利用在未知点所获得的图像特征,通过搜索指纹数据库,以得到最匹配的物理位置,由此确定未知点的当前位置。智能定位装置主要由MSP430F149单片机、LED光源,OV7670摄像头和TFT彩屏等模块组成,LED光源不仅为系统提供照明同时也作为目标物,提供位置标示作用,从而构成一种低成本的室内定位装置。
本设计基于图像处理、光学指纹的定位方式。LED光源作为标准位置指示器,MSP430F149单片机控制OV7670图像传感器采集LED场的图像信息,随后通过边缘检测、二值化处理、中心点坐标计算,以获取LED中心点的具体位置坐标。在指纹学习阶段,一系列LED标志点的坐标及已知的位置信息构成了系统指纹数据库;在指纹定位阶段,通过LED标志点坐标检索已有的指纹数据库,通过计算,可获得末知点的最佳匹配,最终实现定位功能。系统的总体框图如图1所示。
系统中的MSP430F149单片机构成本系统的控制核心,控制OV7670摄像头实现图像信息的采集功能,并通过图像处理算法获得目标LED的位置信息。由若干控制按键与TFT彩色显示屏构成系统的人机接口,用于系统状态切换、参数修改,也可用于对图像及定位信息的实时显示。
图1 系统总体框图
OV7670摄像头包含一个30万像素的CMOS图像感光芯片及一个3.6mm焦距的广角镜头,当采用QVGA RGB565格式时,帧速可达30fps,颜色深度为64K,图像分辨率可达320*240。为方便与相对慢速的MSP430单片机接口,本设计所用的OV7670模块自带一片FIFO存储芯片。
本设计中还选用了一块2.8寸的TFT彩屏,显示解析率为320*240,被用作系统的图像与操作显示终端。
本设计的硬件部分主要包括:MSP430F149单片机、OV7670摄像头和TFT彩屏,其总体原理图如下图2所示。
图2中MSP430F149单片机构成系统的控制核心,通过摄像头接口连接OV7670摄像头模块,以读取其所采集的图像信息;通过彩屏接口连接TFT液晶屏,以提供显示功能;此外,本电路还设计了2个独立的按键,为操作者提供按键输入功能;电源转换电路用于将5-6V的输入电压通过稳压电路转变成3.3V的输出电压,为系统中的单片机等功能模块供电;下载电路通过仿真器连接PC机,用于程序代码的下载烧录及仿真调试。
图2 系统总体硬件原理图
系统软件部分主要由初始化程序、图像扫描程序、图像处理程序、图像指纹匹配程序、TFT彩屏显示程序、按键扫描程序等组成。图像定位包括定位特征学习与定位特征匹配两个不同阶段,其处理方法略有不同。
(1)初始化程序用于完成MSP430F149单片机初始化,OV7670初始化,TFT显示屏初始化,并完成对系统工作参数的初始化。
(2)图像扫描程序控制OV7670通过FIFO读取一帧数据至单片机内存区域,为后续的图像处理做好准备。
(3)图像处理程序首先对图像进行阈值分割,提取出亮度最高的LED区域,并对此区域进行中心点提取,以确定LED中心。为提高软件的抗干扰能力,软件中还设置了一定的保护阈值,如果所得的LED亮斑区域过小,则将之视作噪声点予以滤除。若在指纹学习阶段,此LED的图像中心位置将与实际位置一起存入指纹数据库,以便在匹配阶段进行位置匹配。
(4)图像指纹匹配程序根据计算所得的当前各LED中心点坐标,依次搜索指纹库中的LED中心点,并使用余弦相似度算法寻求最佳匹配,再根据匹配结果确定当前末知点位置。
(1)图像中心点提取算法
由于LED光斑具有强烈的亮度特征,故本设计的算法首先使用阈值分割获得LED光斑的二值化图像[6-8];随后对此图像进行如下处理:逐行扫描图像,跳过背景点;如遇到LED光斑始点,则继续扫描,搜索本光斑带终点; 检查所获得的光斑带与上行的LED光斑是否相连,若相连,说明是同一光斑,否则说明是另一光斑,分别用不同的光斑号标记,最终可得到全部LED光斑;逐一计算各LED光斑面积,若小于某阈值,则视为噪点并清除;逐一计算各LED光斑重心,从而得到各标记LED的图像中心位置。
实际图像处理结果表明,该算法具有较强的抗干扰能力。
(2)图像匹配算法
本设计使用余弦相似度算法计算最佳匹配。余弦相似度通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。余弦值越接近1,表示两个向量相似度越高[7-9]。
向量A、B的余弦相似值可由下式确定:A B
将某帧画面中经图像处理取得的各LED中心点坐标视作一个向量,并与指纹库中已知的中心点位置指纹形成的向量分别计算其余弦相似值,结果越接近1代表匹配程度越高。实际计算中选取两个匹配值最高的位置,并按余弦相似值进行内插处理,可进一步提高位置精度。
伴随着基于位置服务LBS(location-based service)技术的蓬勃发展,对室内定位技术不断提出新的要求。WiFi、蓝牙、ZigBee、超宽带等定位技术得到了广泛的关注,而基于LED图像的室内定位技术不仅可以快速准确地确定用户的位置,并且无电磁干扰之虑,还可与照明技术配合使用。此外,基于视频图像序列的定位技术还可辅助确定用户的行动方向,给用户的LBS服务提供更准确、直观和方便的应用体验。本文具体给出了一种基于MSP430F149单片机,配合OV7670摄像头实现的可见光定位系统,测试结果表明了系统的有效性。