APP下载

可定位图像移动采集系统设计

2014-08-15罗腾元王美珍

测绘通报 2014年4期
关键词:服务器端客户端无线

吴 勇,罗腾元,王美珍

(1. 福建师范大学 地理科学学院,福建 福州 350007; 2. 福建省陆地灾害监测评估工程技术研究中心,福建 福州 350007; 3. 南京师范大学 虚拟地理环境教育部重点实验室,江苏 南京 210046)

一、引 言

自2007年Google街景推出,图像/视频等媒体以一种全新的方式映入大众视野,并以其客观形象、生动直观的特性逐渐成为一种大众化、社会化的地理信息来源和GIS地理表达的重要手段[1]。同时,空间数据实时获取技术迅猛发展,定位技术愈趋精确,空间信息作为整个社会信息流中的重要组成部分及基于位置服务的重要支撑,无论是在人类的日常生活中,还是在行业应用中,都成为一种不可或缺的重要信息。然而在一些应用中,如野外农作物病虫害调查中,不仅需要采集农田作物的长势、病虫害的图像信息,更希望能同时记录农田的位置[2];在数字城管违法纠察中,在记录当前位置违法场景的同时,还需将采集到的信息实时上报[3]。可见,行业需求不断推动GIS应用模式革新,尤其在数据采集方面,由传统单源信息、离线的采集方式,向多源信息综合集成、移动化、实时化采集方式转变。

近年来,以平板电脑、智能手机为代表的智能移动终端呈现爆炸式的增长,终端不仅集成了摄像机、电子罗盘、GPS及无线传输等多种传感器,而且具有操作系统便于定制灵活的应用程序,为多信息综合集成、移动实时化采集提供了良好的平台。基于此,本文提出了可定位图像表达模型,并通过Android移动终端对图像内容、地理位置、图像描述等信息实时集成,同时实现了无线网络环境下可定位图像的实时传输。

二、系统组成

可定位图像移动采集系统由采集终端与远程服务器平台两部分组成。采集终端包括平板电脑、手机等Android智能终端,集成摄像机模块、GPS模块、电子罗盘及无线传输模块,主要用于可定位图像的压缩采集和无线传输。远程服务器平台通过接入Internet接收经终端传输的可定位图像,并实时进行图像解码、地图展示。系统的组成如图1所示。

图1 可定位图像采集与无线传输系统组成

三、关键技术

1. 可定位图像采集

(1) 可定位图像表达模型

目前,大多应用中仅将图像作为一种可视化载体,而对象实体往往还具有空间特征、属性特征、内容特征等,因此,需构建一种新的图像表达模型实现多元异构特征对象的综合表达。针对上述需求,本研究提出了可定位图像表达模型,包括图像、元数据、描述信息及空间信息4个部分,其结构如图2所示。 图像指实体目标的实景信息;元数据包括图像分辨率、焦距、采集时间、曝光度等参数,用于描述图像的基本参数,上述参数可用于推断图像隐含的语义信息,如从焦距计算图像视野范围,从曝光度判断拍摄地点处于室内或室外;描述信息主要通过文本信息、特征信息及音频信息3种方式进行记录,文本信息指场景、事件或地点的文字描述,特征信息包括图像颜色、纹理、形状等内容特征,音频信息则可记录用户对实体或事件的语音描述;空间信息主要包括GPS信息与方位信息,GPS信息用于描述图像拍摄位置,方位信息则用于描述图像场景的朝向。

图2 可定位图像表达模型

(2) 可定位图像模型组织

图像与地理信息等参数集成方式主要有基于XML文件[4]、Shapefile文件[5]及EXIF(exchangeable image file)[6]格式3种。前两种方式从本质上来说图像与地理信息等参数是分离存储的,通过中间文件进行外部关联[7],分离存储不利于信息同步传输,且安全性、通用性、扩展性都较差。

EXIF格式是由日本电子工业发展协会(Japan Electronic Industry Development Association,JEIDA) 为数码图像制订的标准,可记录数码图像的属性信息和拍摄数据[8]。 EXIF格式数据存储与JPEG格式是完全相同的,本质上就是在JPEG格式头部插入图像信息,由应用标记段、图像压缩编码参数段及图像内容数据段3部分组成,如图3所示。应用标记段采用标签图像文件格式(tagged image file format,TIFF)存储图像参数,APP0用于JPEG文件交换格式(JPEG file interchange format,JFIF)存储图像配置信息与缩略图,APP1标记段则是EXIF格式用于避免JFIF存储格式冲突而使用的标记段,包含EXIF IFD、GPS IFD、Interoperability IFD 3个部分。EXIF IFD部分不仅可存储数码相机数据、摄影参数、日期和时间信息,还能通过UserComment和RelatedSoundFile标签记录文字描述及音频;GPS IFD部分记录经纬度坐标、方位、速度等参数;Interoperability IFD部分则用于存储图像互操作参数。此外,EXIF格式预留了APPN多个标记段,用户可根据具体需求进行扩展。与前两种分离存储方式相比,EXIF方式可将地理信息等属性直接嵌入图像,实现相关描述参数与图像的高度整合,而且扩展性和通用性较好,非常适合于可定位图像的存储。

图3 EXIF图像格式结构图

(3) 可定位图像采集实现

在Android系统中实现可定位图像采集,主要涉及摄像机模块、电子罗盘模块、GPS定位模块及百度地图SDK的调用,并采用EXIF格式进行存储。具体步骤如图4所示。

1) 创建图像Intent,并设置其为图像采集模式,调用startActivityForResult()方法启动摄像头采集图像

Intent picture=new Intent(MediaStore.ACTION_

IMAGE_CAPTURE);

2) 在系统服务中获取电子罗盘服务,并设置其监听器,然后通过OnSensorChanged()事件获得方位值

Sensororient=sensorManager.getDefaultSensor(

Sensor.TYPE_ORIENTATION);

sensorManager.registerListener(this,orient,SensorManager. SENSOR_DELAY_GAME);

3) 通过getSystemService()方法获取位置服务并创建位置管理器LocationManager实例,再通过调用实例getLastKnownLocation()方法获取GPS信息;如果无法获取GPS信息,可手动在百度地图标识点位方式代替

LocationManager gps = (LocationManager) this.

getSystemService(Context.LOCATION_SERVICE);

Location loc =gps.getLastKnownLocation(provider);

double latitude = loc.getLatitude();

double longitude= loc.getLongitude();

4) 首先进行地图初始化,接着创建LocationCLient对象并设定定位条件,同时注册位置监听器,通过监听器中回调函数onReceiveLocation()返回当前位置地址

LocationClient client=new LocationClient(this);

locationClient.registerLocationListener(new BDLoca

tionListener(){

public void onReceiveLocation(BDLocation location)

{

mAddrStr=location.getAddrStr();

}

})

5) 调用ExifInterface接口中的setAttribute()方法将上述获取的参数写入图像,同时在SDcard中保存图像。

图4 可定位图像采集实现流程

2. 可定位图像传输

随着3G通信技术成熟,以及3G网络覆盖面日趋完善,移动网络带宽大幅提升,同时智能终端应用的普及,使得图像/视频等多媒体传输成为可能,为动态采集现场信息、实时掌握现场真实情况提供了强有力的保障。

(1) 图像传输机制

Android系统提供了基于HTTP协议(超文本传输协议)和基于Socket套接字两类网络编程方式[9]。HTTP协议是Web浏览器和Web服务器端的应用层协议,支持客户与服务器之间HTTP页面、图像等数据传输,广泛用于Web应用方面。由于HTTP协议采用请求与响应模式,请求永远由客户端发起,致使其无法实现服务器推送消息给客户端,而且服务器限制HTTP协议传输文件的大小,诸多限制使得HTTP协议不太适用于图片传输。基于Socket套接字传输方式可实现单机或跨网络通信,支持多个客户端同时连接到同一个服务器,具有UDP与TCP两种模式。TCP和UDP是两个性质不同的通信协议,主要用来向高层用户提供不同的服务。UDP是一个简单的、尽力而为的面向无连接的数据报传输协议,面向无连接方式使得其传输效率较高,能满足视频等对实时性要求较高的应用,但是不能确保数据报的可靠传输,特别在网络信道环境较差的环境下会出现大量数据丢包、乱序等现象,严重影响传输质量。TCP可以提供面向连接的、可靠的(没有数据重复和丢失)、全双工的数据传输服务。虽然采用面向连接的方式牺牲了部分传输效率,但是其数据包确认、重传机制有效避免了丢包、乱序现象[10]。与传输效率相比,图像传输应用更注重可靠性,因此采用TCP方式比较适合于图像传输。

(2) 图像传输实现

在Android Socket网络编程中,主要分为客户端与服务器端两部分。通过调用Socket、ServerSocket类建立基于TCP协议的网络通信,Socket类用于建立客户端程序,ServerSocket类用于建立服务器端程序,两者之间的图像传输实现过程如图5所示。

客户端主要负责图片数据传输的请求操作,实现步骤如下:

1) 创建Socket类实例,通过指定的远程服务器地址和端口来建立连接,并向服务器发出连接请求

ClientSocket cSocket=new ClientSocket(IP,PORT);

2) 利用OutputStream类创建输出流,并通过write()方法将图片数据读入,最后调用flush()方法刷新实现数据发送

OutputStream out=Socket.getOutputStream();

out.write(buf,0,read);

out.flush();

3) 图像数据发送完毕,通过调用Socket类的close()方法关闭连接。

服务器端通过建立一个通信的端点,等待客户端发送的请求,实现步骤如下:

1) 创建ServerSocket类实例,并指定本地的端口,用于监听客户端连接请求

ServerSocket sSocket=new ServerSocket(PORT);

2) 重复以下步骤:

a. 调用accept()方法获取客户端连接请求,并通过返回的socket实例建立一个与客户端的连接

Socket client=serverSocket.accept();

b. 通过DataInputStream类创建输入流,接收客户端传来的数据包并保存为图像

InputStream in=client.getInputStream();

c.图像接收完毕后,通过调用Socket类的close()方法关闭连接。

图5 基于TCP协议的图片传输流程图

四、系统实现与测试

系统采用C/S体系架构,客户端采用N7100三星智能手机为采集平台,以带有Android开发包插件(Android development toolkit,ADT)的Eclipse集成环境为开发平台,服务器端采用MyEclipse编程环境,基于上述关键技术实现了可定位图像移动采集系统。

1. 图像采集测试

提取可定位图像中存储的经纬度、方位、地址等参数信息,并自动将位置、方位标注于百度地图上,验证采集方法的正确性、有效性。通过标注与实地位置对比,发现拍摄位置由于GPS单点定位精度影响存在3~5 m的漂移外,拍摄方位完全正确,可满足采集需求,可定位图像采集界面如图6所示。图6(a)中扇形的圆心指示了当前图像的拍摄位置,扇形的区域范围代表了拍摄方向及视野范围,也可通过点击扇形标注,获取图像、经纬度值、方位值、时间及地址描述,如图6(b)所示。

图6 可定位图像采集终端界面

2. 图像无线传输测试

网络测试环境:采集端采用包括移动、联通及电信三大网络运营商不同制式、不同传输速度的无线网络,服务器端采用电信小区宽带,带宽为10 MB。传输对象:一幅640像素×480像素分辨率的图像,图像大小为91.9 KB。测试方法:在同一地点、同一时间采用不同网络分别进行10次无线传输测试。采集端与服务器端界面如图7所示,(a)为采集端网络设置界面,用于设置服务器IP地址及端口号;(b)为服务器端系统界面,系统接收到图像后,在地图窗口中显示图像的采集位置与方位,同时在界面下方显示图像本身,以及采集时间、采集地址、经纬度值、方位值等参数信息。

图7 可定位图像无线传输界面

测试结果见表1,采用2G网络、3G网络均能顺利并可靠完成可定位图像传输,测试中发现3G传输速度相对较快,可满足更高分辨率图像的传输需要,服务端接收到的图像未出现缺失、模糊现象,说明基于TCP无线图像传输方案是可行的。

表1 可定位图像无线传输测试结果

五、结束语

本文提出了可定位图像表达模型,通过Android移动终端实现了图像信息、方位信息、定位信息及地址描述信息等多要素实时采集和综合集成,同时从传输效率与可靠性方面,分析了无线传输机制的优缺点,并基于TCP传输方式实现了图像无线传输功能。通过测试表明,可定位图像采集与传输方法是可行且可靠的,采集的可定位图像不仅具有一般图像信息,而且在地图上能准确反映拍摄位置与方位,同时采用不同制式、不同速率网络均能确保数据在传输过程中未乱序丢包,可靠地实现图像传输。该方法不仅丰富了GIS采集方式,而且为数字城管、环境监察、野外考察等行业应用提供了参考价值。

参考文献:

[1] 韩志刚,孔云峰,秦耀辰. 地理表达研究进展[J]. 地理科学进展,2011,30(2):141-146.

[2] 刘向峰,孟志军,陈竟平. 作物病虫害信息采集与远程诊断系统设计与实现[J]. 计算机工程与设计,2011,32(7):2361-2463,2408.

[3] 刘钊,方正.小议移动GIS应用[J].测绘通报,2013(10):41-43.

[4] LIU Q,YOO J J, CHOI K H, et al. A Scalable VideoGIS System for GPS-guided Vehicles[J]. Signal Processing: Image Communication, 2005, 20(3):205-218.

[5] 宋宏权,刘学军,闾国年,等. 基于视频的地理场景增强表达研究[J]. 地理与地理信息科学,2012,28(5):6-9.

[6] 武文波,刘向锋.GIS中数字图像与地理位置的整合方法与应用[J].微计算机信息,2011,27(4):235-237.

[7] 李文闯,章永平,潘瑜春. 移动地理信息系统中多源异构数据融合模型[J]. 计算机应用,2012,32(9):2672-2674,2678.

[8] JEITA CP-3451 Exchangeable Image File Format for Digital Still Cameras: Exif Version 2.2[S].Tokyo: Japan Electronics and Information Technology Industries Association, 2002.

[9] 张雅楠,杨璐,郑丽敏.基于Android手机的远程视频监控系统的设计与开发[J].计算机应用,2013,33(S1): 283-286.

[10] 林玉妹,陈为刚. 基于3G网络的图像传输系统设计[J].信息技术,2013(5):32-36,40.

猜你喜欢

服务器端客户端无线
《无线互联科技》征稿词(2021)
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
浅析异步通信层的架构在ASP.NET 程序中的应用