基于ORB特征的户外建筑物识别方法

2015-12-21 11:58罗林
电脑知识与技术 2015年27期
关键词:服务器

罗林

摘要:在景点导游系统、户外广告等增强现实系统中,户外建筑物识别有较大的应用价值。本文讨论了一种户外建筑物的识别方法,其特点是把整个系统分为服务器/客户端设计。设计中,在服务器端可以利用服务器强大的计算及存储能力来计算感兴趣区域(POI)的建筑物的ORB特征;客户端通过摄像头等设备抓取视频帧并获取当前视频帧的ORB特征传递给服务器;服务器通过汉明距离匹配这两组ORB特征,得到最匹配的建筑物信息返回给客户端。为了提高识别效率,预先将POI划分成二维网格,并根据客户端的GPS信息定位在其中一个单元格中,匹配时,只需要遍历比较已定位单元格的8个邻域中的建筑物即可。

关键词:建筑物识别;ORB;GPS;服务器

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)28-0127-02

Outdoor Building Identification Method Based on ORB Features

LUO Lin

(Guangzhou University Huaruan Software College, Guangzhou 510990, China)

Abstract: In the scenic spot guide system, outdoor advertising and other augmented reality system, outdoor building identification has great application value. This paper discuss a method for the identification of outdoor buildings, which divide the system into server / client component. In this design, on the server side can use servers powerful computing and storage capacity to calculate the orb features of region of interest (POI) buildings; client through video cameras capture video frames and obtain the orb features of current video frame and send it to the server; the server use hamming distance matching method match the two sets of orb feature, get the best matches of the building information and send it back to the client. In order to improve the recognition efficiency, POI is divided into grids, and according to the client's GPS information, location the client in one of the cells, do matching work, only need to traverse and compare to the 8 neighbourhood cells building .

Key words:building identification;ORB;GPS;Server

1 概述

“城市增强现实是当前增强现实的应用热点,在城市增强现实中往往使用提示信息来为用户做出与城市内建筑景物等相关的提示”[1],这些提示信息可以用作公共信息服务或者户外广告,具有极大的应用价值。

要实现城市建筑物的增强现实信息提示的关键点是要实现建筑物的识别。在城市增强现实应用中的典型场景是用户手持如iPhone这样的移动设备,将其摄像头对准场景中保持一小段时间,应用程序则需要根据摄像头捕获的视频帧与预先获取的建筑物的参考图像匹配,并根据匹配的结果,在移动设备的屏幕上显示出相应的提示信息。

实现图像匹配,可以利用SIFT、SURF、ORB等算法抽取图像的特征点。其中SIFT、SURF算法准确度较高,但执行效率较低,不适合应用在实时运行的环境中。而“在计算速度方面,ORB是SIFT的100倍左右,是SURF的10倍左右,可以满足实时的特征匹配”[2]。因此,在建筑物识别时,可以利用ORB[3]算法抽取图像特征点,然后使用汉明距离匹配视频帧图像与参考图像。

在建筑物识别时,应用程序会预先生成具有兴趣点(POI)的若干建筑物的ORB特征。如果应用的范围比较广,建筑物较多,那么进行ORB特征匹配时,需要匹配检测的图像太多,会严重拖慢匹配速度,用户体验不好。而iPhone这样的移动设备具有GPS芯片,可以得到自身的GPS信息,所以,可以利用GPS信号对建筑物参考图像进行筛选,只匹配移动设备周围有限的建筑参考图像,提高匹配速度。

由于移动设备的性能限制,也为了便于更新系统中各建筑物的信息,在是建筑物识别系统时,应该分为服务器端及客户端应用程序。如图1的活动图所示。

2 服务器设计

如图1,服务器需要不停监听客户端发送过来的识别信息,并做出响应。因此采用高效的服务器模型有助于提高整个系统的性能,给使用者带来较好的体验。在目前的网络通信开发库中,BOOST.Asio“以其良好的性能,灵活的用法,支持高并发的IO处理,以及强大的跨平台支持,逐渐成为C++网络库的工业化标准,被越来越多的网络应用作为基础框架”[4]。 因此服务器通信层的设计可以采用BOOST.Asio开发库作为底层网络通信技术手段,并利用其异步通信机制创建一个高效的基于TCP/IP协议的网络通信层[5]。服务器与客户端的通信协议表1所示:

图2所示网格是将系统所包含的区域按同样宽度及高度w划分成网格,将用户的GPS坐标整除w就可以快速定位到网格中的某一个单元格上。假设p是用户GPS定位到的单元格,那么系统只需要用p周围的8个邻域中的建筑物进行特征匹配,而超出这8个邻域的其他单元格中的建筑物因为距离p较远而不用考虑。如图2,只需要匹配建筑物A、B的ORB特征,而C、D、E因为距离较远,不需要计算,从而提高了系统的性能。

如表1,客户端还会上传当前视频帧的特征点数组k2及特征描述数组d2,服务器要用这些信息与数据库中记录的p点附近的建筑物做特征匹配,其方法是遍历p点附近的建筑物参考图像,得到它们存在数据库中的特征点k1及特征点描述序列d1,利用OpenCV库中的cv::BFMatcher对象的match方法按照汉明距离做匹配d1、d2,得到匹配点集合matches。将matches按照汉明距离做升序排序,取一定数量(假定100个)的匹配点放到集合good_matches中。在good_matches中还有可能存在错误的匹配,为了剔除这些错误的匹配,可以使用RANSAC算法对good_matches中的匹配点进行筛选。通过筛选后,对于正确的匹配,在good_matches集合中还能保留较多的匹配点,而错误的匹配在good_matches集中中只能留下很少的匹配点,如图3所示。而具有较多匹配点的参考图像即当前视频帧中所包含的建筑物,将该建筑物相应的提示信息发送给客户端。

(a)正确的匹配(较多匹配点)

(b)错误的匹配(很少匹配点)

3 客户端设计

客户端基于iPhone设计。其步骤如下:

1)客户端的功能首先要打开摄像头捕获视频。在IOS平台可以使用AvFoundation类库中的AVCaptureSession对象打开摄像头捕获视频。在AVCaptureSession的委托方法captureOutput里将捕获到的数据转换为OpenCV中的Mat对象vm,便于下一步处理;

2)同服务器,用OpenCV视觉库中的ORB特征检测对象提取vm的特征点序列k2,特征点描述序列d2;

3)使用IOS定位服务得到GPS信息,即使用CoreLocation.framework中的CLLocationManager对象开启定位服务,在其委托方法中得到GPS信息g;

4)将g、k3、d3按照表1所示通信协议打包数据帧,使用socket发送给监听的服务器,等待服务器返回匹配结果;

5)如果匹配,则在屏幕上用标签或者文本框等控件将服务器返回的提示信息显示出来,否则不显示任何信息。

客户端设计时要注意,特征匹配比对是耗时的,所以在客户端不能在每帧都发送待匹配的信息,可以采用标记来记录服务器匹配是否完成,在已经完成了匹配验证的情况下,再发送新的视频帧。

4 结语

本文讨论了一种基于ORB特征匹配的户外建筑物识别方法,使用此方法能较快从视频帧图像中识别出目标建筑物,并受旋转、光照等影响较小,具有较强的健壮性及容错性。该方法在户外景点导游或者户外建筑物广告等热点应用中有较高的实用价值。在今后的工作中,需要进一步提高这种方法的匹配速度,使用户体验有更进一步的提升。

参考文献:

[1] 葛林,庄晓斌,华炜,万华根.面向城市增强现实的高融合度信息标注方法[J].系统仿真学报,2014,26(9):2015-2022.

[2] 任结,周余,于耀,等.基于 ORB 自然特征的 AR 实时系统实现[J].计算机应用研究,2012,

[3] 肖斌,江弋,林凡.基于 ORB 和 KLT 的移动增强现实三维注册算法[J].计算机与现代化,2014(3):57-60.

[4] 吴克松,陈浩然,董建平.基于IOCP的Boost.Asio的研究及在高清MCU中的应用[J].数据通信,2015(2):11-14.

[5] 胡杨,梁防昕.异步模型Asio的应用与分析[J].现代计算机(专业版),2008(11):69-72.

猜你喜欢
服务器
通信控制服务器(CCS)维护终端的设计与实现
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
服务器操作系统可信加固技术研究
关于Linux的视频服务器开发与实现分析