基于Android的无线智能寻物系统的研究与开发
2014-09-23王维樵邓舒宇谭国平
王维樵,卢 苗,邓舒宇,谭国平
(河海大学 计算机与信息学院,江苏 南京 211100)
基于Android的无线智能寻物系统的研究与开发
王维樵,卢 苗,邓舒宇,谭国平
(河海大学 计算机与信息学院,江苏 南京 211100)
为了实现自动寻物功能,设计一个基于图像处理技术和路劲规划技术的智能小车寻物系统。系统由智能手机平台和智能小车组成,智能手机平台负责控制智能小车和物品搜寻,智能小车负责图像采集。通过实验,系统能在简单的地形环境中寻找到指定的物品。
寻物系统;手机控制;智能小车;图像处理;路径规划
在日常生活中,人们常常为丢失物品而烦恼,而传统的张贴寻物启示也有其不适用的时候。为了方便快速精确的帮助人们寻找丢失物品,我们设计了一套基于智能手机的寻物系统。目前市场上已经存在一些成型的产品,它们均以无线遥控技术为基础,通过发射器与接收器间的通信来确定物体的位置。其又分为主动式与被动式两种,被动式的发射器安放在被寻物体上,一直带电工作,接收器安放在用户处,当接收不到发射器发出的声、光等指示信号时,表明物体需要被寻找。而主动式则将接收器安放在物体上,一直带电工作,而发射器安放在用户一侧,当用户需要寻找物体时才用发射器向接收器发出信号,当接收器收到信号后,才通过声、光来精确定位物体[1]。无论主动式还是被动式都只能寻找安装了接收器或发射器的特定物体,无法起到真正寻物的作用。
因而我们设计了一套基于图像匹配的无线智能寻物系统,系统由捕获物品丢失位置四周的图片的下位机与对下位机进行控制与对图片数据进行处理的上位机组成[2]。以用智能小车为下位机为例,小车由路径规划算法控制,自动对周围环境进行拍照,并由手机客户端访问小车,实时读取图片数据,手机客户端将小车捕获的照片与被寻物的照片通过图像匹配算法进行比较匹配,直到两组图片匹配为止,完成寻物目的。系统的核心算法为小车的路径规划算法与图像匹配算法。
1 系统整体框架设计
本系统采用智能小车作为实验平台,能方便的进行平台的移植,具有广泛的适用范围,能根据用户的需求进行各种物体的寻找,真正起到寻物作用。系统的硬件组成如图1,由手机客户端、路由器、单片机系统、显示模块与电机驱动模块组成。手机客户端我们选择了当前使用率较高的Android4.2系统,向下支持到Android2.3。软件的开发环境采用Eclipse平台下的Android SDK。
图1 系统硬件组成Fig. 1 Components of the hardware system
Android 是一个面向移动开发和平板电脑开发的开源平台,Android 平台融入了面向手持设备的通用计算理念。它是一个综合平台,包含一个基于Linux 的操作系统,用于管理设备、内存和进程。Android 系统中的Java 库涵盖了电话、视频、语音、图形、连接、UI 编程和设备的其他许多方面[3]。
Android 平台作为新兴的智能手机平台,有着强大的应用层API和大量的传感器功能,其开放的平台有利于开发者开发出各种优秀的应用,并且Android平台手机能无缝结合优秀的谷歌服务。因而本文针对Android手机的控制方式进行设计,提出一种更方便的寻物系统。
智能小车的核心模块为STC12C5A60S2微处理器,其与路由器、电机驱动模块和液晶屏连接,通过嵌入式系统实现接受上位机指令并响应控制等功能。路由器选用TP-Link的TL-WR703N,刷入嵌入式系统,实现手机与单片机的通信功能。显示屏我们使用1602液晶显示屏来显示小车的运行状态。而电机驱动模块则选择了常用的5V电机驱动芯片L298D,并与4组直流电机相连,利用单片机使之工作在占空比可调的开关状态,精确调整电机的转速,实现小车的驱动控制。
2 控制系统软件设计
控制软件主要分为下位机单片机控制程序与手机客户控制程序。手机客户端作为寻物系统的重要功能部分主要包括小车运动控制、图片接收、图像比较等功能,按照功能的不同,将手机客户端分为小车控制模块与图像处理模块两大功能模块,每个模块均由独立的线程进行控制。由于小车提供有相应的API接口,手机只要发送特定的指令即可实现不同的控制。
2.1 小车控制模块
小车控制模块主要实现小车的运动控制,其中又包括手动控制与自动控制两个部分。对于手动控制,我们仿照游戏手柄上的摇杆设计,在界面上描绘了相似的360°控制摇杆来控制小车前进的方向,使得用户能更为直观、方便的手动控制小车。当中央摇杆的位置方向发生改变时,其偏移量传递给小车位置控制线程,线程根据偏移量来判断小车前进方向,并向小车发出相应指令。
自动控制模块负责生成小车寻物路线,并向下位单片机发出相应指令,控制小车自动寻找物品。寻物系统的关键在于小车的路线规划问题,这要求小车尽可能短的路线内准确的寻找到物体。在只考虑工作环境为平面情况的条件下,采用栅格法建立环境模型,自由空间和障碍物可分别表示为自由栅格与障碍栅格。设一个栅格为一点v,构建一个赋权图G=(V,E),其中V为顶点集合,E为边集合,以捕获图片与原图的相似度为边的权值dv。则图的每个相邻点相互连通,边的权值dv未知。由于目标点未知,若用深度优先算法遍历赋权图的每一个点,求出每个点的相似度,再进行排序,得出最接近的一点,则可以求出物体的位置。但这种方法虽然准确率高,但时间复杂度高。若采用贪心算法,在每个阶段,选择一个与当前阶段所在顶点相邻的点v,它在所有相邻的点中具有最大的dv,然后进行访问,声明为已访问[4]。算法流程图如图2所示。
算法步骤如下:
设S 为已经搜索过的顶点集合,U 为未搜索的顶点集合。
a)初始化 S={A},U ={n,n + 1,n + 2……n + n};
图2 小车路线规划算法Fig. 2 Path planning algorithm of smart car
b)从节点 A 开始搜索,扩展 A 到下一节点,选取权值dv最大的顶点 n,并将 n 加入 S 集合,此时 S ={A,n},U ={ n +1,n + 2……n + n };
c)以点n 为新考虑的中间节点,扩展 n的节点,选取与点 n 相接而且权值dv最大的下一节点 n+1,并将 n+1 加入 S集合;
以 n+1节点为新的扩展节点,重复步骤c) 的思想进行搜索,直到找到一点n’,在点n’的栅格内存在要寻找的物品,则算法结束。
2.2 图像处理模块
图像控制模块主要负责图像接收与图像匹配。图像接收负责实时接收小车发来的图片信息,显示在手机屏幕上,并在后台进行图片比较。通过继承SurfaceHolder.Callback类,能从小车路由器实时接收图片数据,并使用Canvas方法描绘到画布上。在程序接收图像的同时,程序通过多线程技术同时进行图像匹配,提高搜索速度。
系统的核心算法为图像识别匹配算法,图像匹配算法作为现今图像处理技术中一项重要的技术,涉及到图像采集、图像预处理、图像特征点提取等技术。为了解决各种图像畸变带来的匹配困难,人们根据特征空间、相似性度量、图像匹配类型变换与变换参数的搜索四种元素提出了各种图像匹配技术。如今主要的图像匹配技术主要分为基于灰度相关的匹配、基于特征的匹配、基于模型的匹配和基于变换域的匹配[5]。考虑到一般图像匹配算法的计算量大,时间复杂度高,对于处理速度有限的移动手机而言,要一直持续处理,开销非常大,会带来程序死锁的问题,所以我们采用“感知哈希算法”(Perceptualhash algorithm)来解决图像匹配的问题。
感知哈希是从数字媒体中提取的一串数字序列,是媒体感知内容的摘要。令I 代表原始图像,I ’代表待检测图像,H(·,K)表示使用密钥K加密后的哈希序列。在哈希序列的匹配中,用匹配函数D(·,·)来计算两个数字媒体对象之间的感知距离,感知距离可用汉明距离或欧式距离计算。假设阈值为M,若D(H(I,K),H(I’,K))≤M,则认为待测图像与原图像相似;若D(H(I,K),H(I’,K))>M,则认为待测图像与原图像不相似。一般而言,感知距离越大,两张图像差别越大。
本程序的感知哈希算法实现如图3所示。
图3 感知哈希算法Fig. 3 Perceptual Hash algorithm
1)读取图片,然后将图像归一化为8×8,共64个像素,去除图片细节,只保留图片的结构、明暗等基本信息;
2)将转化为64级灰度图,并计算所有灰度的平均值;
3)将每个像素的灰度值和平均灰度值比较,若大于或等于平均值,则记为1;若小于平均值,则记为0,将比较结果组合成一个64位的整数,这就是这张图片的哈希序列H(·,K)。
最后计算两幅图像的感知距离,并取阀值M=5,如果感知距离不超过5,就说明两张图片很相似[6]。
3 结 论
对不同实验物体在同一空间内进行一系列实验,该系统能完成一些基本的搜寻任务,找到目标物体,证明系统的算法有效,系统的整体设计可行,但图像匹配算法和路劲规划算法还有待改善。可以通过优化图像匹配算法[7],减少环境因素(如光线亮暗等)的影响,提高寻物的精确度及速度,更加轻松的寻找到目标物体。
将基于小车的智能寻物系统应用于某些艰难作业环境,能有效节省人力、物力,保证工作人员安全,降低事故发生率。另外,对于一些狭小的空间,人们难以到达,智能小车寻物也不失为一个好的选择。
[1] 梁树军,黄敏. 无线小型微功耗寻物系统的设计与实现[J].微计算机信息, 2009, 25(29):112-113.
LIANG Shu-jun, HUANG Min. The design and implementation of object-searching system based on mini micro-power for wireless[J].Microcomputer Information,2009,25(29):112-113.
[2] 李强,陈善勇,杨尚罡. 基于TMS320VC5416的机器视觉处理系统[J].电视技术, 2004, (7):86-88.
LI Qiang,CHEN Shan-yong,YANG Shang-gang.A Machine Vision System Based on TMS320VC5416[J].Video Engineering, 2004,(7):86-88.
[3] Komatineni S,MacLean D.精 通 Android[M].杨 越 ,曾 少 宁 ,译 .北京:人民邮电出版社, 2013.
[4] 张捍东,郑睿,岑豫皖. 移动机器人路径规划技术的现状与展望[J]. 系统仿真学报. 2005, 17(2):439-443.
ZHANG Han-dong, ZHENG Rui, CEN Yu-wan. Present Situation and Future Development of Mobile Robot Path Planning Technology[J].Journal of System Simulation,2005,17(2):439-443.
[5] 王红梅,张科,李言俊. 图像匹配研究进展[J]. 计算机工程与应用, 2004, 40(19):42-44, 47.
WANG Hong-mei, ZHANG Ke, LI Yan-jun. Research progress on image matching[J].Computer Engineering and Applications,2004,40(19):42-44, 47.
[6] 张慧,张海滨,李琼. 基于人类视觉系统的图像感知哈希算法[J]. 电子学报, 2008, 36(12A):30-34.
ZHANG Hui, ZHANG Hai-bin, LI Qiong. Image perceptual hashing based on human visual system[J].Acta Electronica Sinica, 2008, 36(12A):30-34.
[7] 郑兴明.基于特征序列匹配函数的快速图像匹配[J].电子科技,2012(10):11-14,18.
ZHENG Xing-ming. Fast image matching based on feature matching function sequence[J]. Electronic Science and Technology,2012(10):11-14,18.
Development and research of object-searching system based on Android
WANG Wei-qiao, LU Miao, DENG Shu-yu, TAN Guo-ping
(Computer and Information College,Hohai University, Nanjing 211100,China)
In order to achieve the function of automatic searching object, an object-searching system combining with image processing technology and path planning algorithm is designed. The system consists of smart phone platforms and smart car. Smart phone platform is responsible for controlling the smart car and searching object, smart car is responsible for image acquisition. Through experiments, the system can find an appointed object in simple terrain environment.
object-searching system; smartphone control; smart car; image processing; path planning
TP391
A
1674-6236(2014)03-0018-03
2013–06–30 稿件编号:201306219
河海大学国家级大学生创新训练项目(201205XCX073)
王维樵(1990—),男,广东肇庆人。研究方向:无线多媒体通信。