沈嘉轶,陈冰洋,李鑫,汤锦煌,梁成思
(北京信息科技大学计算机学院,北京,100101)
随着国内高校在不断的发展建设,学校为了学生提供更好的校园环境,很多高校都采取了建设新校区、扩建校园的工作。与此同时,也会产生更多校园街景,尽管市面上存在一些街景地图,但由于每次更新时数据量庞大,导致更新不及时,无法查看到近期街景变化。
因此,为了记录短周期内校园的变化,以及宣传校园风光,本项目针对校园环境,利用嵌入式智能街景小车,结合图像处理技术、传输控制/网络协议,设计并实现了一个校园街景系统。该系统可以满足根据需求远程控制嵌入式小车按规定路线进行行驶拍摄,并对拍摄的图片进行实时更新展示。本系统相对于传统的街景地图,具有更好的时效性,更针对校园的使用场景做出了一定的个性化设计,并且减少了对于校园街景拍摄工作的人力物力支出,对宣传校园风光起到了积极作用。
1.1.1 国外研究现状
随着计算机美学的理论体系逐步完善以及研究成果的不断出现从而在国际学术界中得到了广泛的认可和关注,而在照片美感品质的评价系统中就有着许多方案:Ritendra Datta提出用56个特征用于对照片的美感品质进行评价并使用支持向量机和分类树来对照片进行自动的分类,最后使用线性回归的方法来量化美感度的评分;Wei Luo等人提出了3类局部特征和2类全局特征用于对照片美感品质做出评价,使用受试者工作特征曲线对特征的性能进行评价;Jun Shao等人在局部特征中采用了Gabor小波变换及2种不同的方法来对不同类别的照片提取器主体部分[1]。
2007年5月30日,谷歌正式推出街景功能,通过街景小车拍摄360度实景图片上传至谷歌地图中提供给用户使用观看并了解当地的街景实况,现如今谷歌街景的范围已经扩展到了美国,英国,澳大利亚等9个国家的135个城市,对街景推动发展功不可没。
1.1.2 国内研究现状
在2006年上海杰图软件公司就推出了城市吧这一街景地图服务,甚至谷歌街景上线的时候一大部分的专利都来自它。
2011年腾讯地图上线SOSO街景。SOSO街景是由腾讯公司自主研发,以地理信息技术为核心的一项互联网地图服务系统,该系统主要以街道为观点,获取街道两侧连续全影像数据,目前已经覆盖了全国近400个城市。[2]用户在进行浏览街景时,可随机输入地点迅速定位任意街景,拖曳每一处街景都可以实现水平方向上360°自由旋转、放大和缩小,同时在地图上显示当前街景的地理位置。用户也可事先设定好线路,根据街景的前进、后退链接,导航到前一站和后一站街景。当街景内容切换时,地图位置同步更新。同时需要特别指出的两点是[3]:(1)SOSO街景第一次在国内大规模上线了高校的街景地图,对校园街景这个应用分支由引领作用;(2)SOSO街景地图在国内街景地图的产品思维上首次加入隐私管理[4]。
目前,市面上已经有了关于街景系统和图片处理系统相关方面的研究,但是本项目认为,这些系统单独工作并不能在实践运用方面发挥出价值,需要一个将其功能整合在一起,让这些系统的功能相互统一,相辅相成,以达成某些特定的需求,让生活更加的便捷化。
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
系统总体架构如图1所示,主要分为三大模块:嵌入式智能小车端、服务端、web端。整套系统以服务器为核心,首先通过将人工设定的路线和启动拍照命令通过Tcp/ip通信协议发送给嵌入式智能小车端,然后嵌入式智能小车完成一次完整的路线行驶后会将照片及相关信息回传到服务器上,服务器会对图片进行分类及简单处理,最后将图片上传至web端供访客浏览。
图1 校园街景系统总体架构
小车使用嵌入式芯片树莓派4B作为运算中心,通过嵌入式芯片控制各个模块和电机实现小车的基本功能,同时通过添加不同的模块实现小车的功能,包括摄像头模块,电源模块,物联网模块,驱动模块,云台等等。
小车的寻路流程如图2所示,嵌入式智能小车启动后,随时准备接收控制信号。当选择手动操作时,系统会识别键盘的键入信号。方向键处于按下的状态时,服务端会向嵌入式智能小车发送对应方向的信号。小车控制台接收到服务器传递的信号时,会通过树莓派上预设的GPIO模拟无线信号控制驱动电机。当选择非手动控制时,用户可以将提前设置好的路线信息按照规则性信息结构通过Tcp/ip通信协议发送给嵌入式智能小车,小车控制台接收到服务器传递的线路信息时,小车通过提前预设的指定路线前进,通过树莓派上预设的GPIO模拟无线信号控制驱动电机,通过控制电机转速进行运动,并进行拍照任务,小车完成拍照任务后,当小车完成指定路线后,会将照片传回服务端并结束行驶任务。
图2 小车的寻路流程
小车在校园中移动时,会周期性执行拍照任务,每经过一段相同的时间嵌入式智能小车上的摄像头模块会进行拍照工作,同时配备了云台以保证拍照时的相对稳定,小车上的摄像头对周围的场景以及建筑物进行多次拍照,并通过图片择优算法选择最清晰的图片并记录照片拍摄时的地点,时间等信息,然后将拍摄到的图片以及信息通过小车控制台的通信模块传输到服务器。
2.2.1 HSV颜色模型
A.R.Smith根据颜色直观特性创建的色调-饱和度-明度颜色空间,有效地分离了色调(Hue)、饱和度 (Saturation)和亮度(Value),相比于 RGB 颜色空间,更适合描述人类色彩感觉,在图像处理领域中也更有优势。从 RGB 空间到 HSV 色彩空间的变换表达式为:
其中 :色调(H)的范围为 0~360°,饱和度(S)的范围为0~100%,亮度(V)的范围为 0~255。HSV 三要素的变化对应着管脚表面、底板以及边缘范围内的颜色变化,不同的区域和背景之间的S值或V值有可能相等,但H值总是存在差异[5]。
2.2.2 构建昼夜分类器
训练昼夜分类器流程如图3所示,通过获取到的训练数据进行模型训练,首先计算出图像的平均亮度(Average Value),之后将其亮度与初始阈值(Threhold)进行对比,如果高于阈值记作白天,低于或等于阈值记作夜晚,如果计算结果与实际情况不符,将优化阈值,修正阈值取值,最后得到一个最佳阈值作为判断昼夜场景的关键变量。平均亮度公式如下:
图3 训练昼夜分类器流程
其中 :亮度(V)的范围为 0~255,面积(S)的取值为图像的像素块个数。
2.2.3 无效化图像数据处理
根据昼夜分类器中计算出的图片平均亮度,通过人工的方式反复验证一个有效图片数据的平均亮度的有效范围,在进行图片分类时,会直接将无效数据剔除,不作为地上传的对象。
本项目分别对嵌入式智能小车手动驾驶功能、自动寻路功能,拍照功能以及图片分类功能进行了相应的测试。
嵌入式智能小车手动驾驶功能测试方法:通过键盘智能嵌入式小车进行实时控制,通过人工观察是否有出现未按控制命令行驶的情况发生。
测试结果为多次长时间的手动驾驶未出现未按控制命令行驶的情况发生。
嵌入式智能小车自动寻路功能测试方法:通过对同一条线路进行20次行驶测试。
观察表1可发现,小车大多数情况会按照预设路线进行自动寻路行驶,偶尔可能会存在行驶出规定路线的情况发生。综合实际测试情况,推测可能是路线数据传输时可能存在部分数据丢失或者嵌入式智能小车本身对于车轴转向等功能控制精准度欠佳,从而造成嵌入式智能小车未按照规定路线行驶。
表1 自动寻路功能测试情况
图片分类功能测试方法:准备160张风景照片,白天夜晚各80张,将其打乱顺序并放入分类器中,统计其中判断正确的次数,并计算正确率。
表2 图片分类测试情况
本文详细介绍了基于嵌入式系统的校园街景系统设计的过程与实现的相关流程,本系统尝试基于校园的应用场景,做了对街景系统的个性化设计,通过嵌入式智能小车作为载体记录校园内的街景风光,减少了宣传记录校园风光的人力物力,同时对于宣传高校校园环境的工作起到了一定的辅助作用。