基于机器视觉的智能泊车系统

2019-07-16 07:21蔡秉华张艺彬蔡嘉安许文强
韶关学院学报 2019年6期
关键词:泊车车牌车位

林 辉,蔡秉华,张艺彬,蔡嘉安,许文强

(韶关学院 物理与机电工程学院,广东 韶关512005)

随着城市化进程的加快和人民生活水平的提高,机动车的数量和使用频率也大大增加,“停车难”的问题日益困扰着车主们.为了提高人们停车的便利性,许多便利型停车场蜂拥而起,可还是存在人工操作效率低,停车管理不到位等问题[1-3].为了节省时间与提高便利性,笔者提出一种基于机器视觉的智能泊车系统,通过识别进出车辆的车牌号记录入库,同时监控停车场内情况,让人们通过APP就能知晓停车场内车位剩余量,自主选择是否进入该停车场,提高人们的便利性[4-6].

1 智能泊车系统总体设计

智能泊车系统主要由视觉系统模块和管理系统模块两大部分组成.系统选择一款产自海康威视的500万像素摄像头作为视觉系统硬件部分.摄像头将采集到的图像数据发送到计算机,计算机获取信息后,对图像进行整合、处理得出进入停车场的车辆车牌号,并获取当前停车场的停车位的使用情况,即实现车牌识别和车位检测的功能.管理系统可分为服务器(包括上位机)系统、APP系统两部分.其中上位机系统实现的主要功能是数据的处理、传输、保存和显示.例如:服务器接收到视觉系统发送过来的停车场数据后,经过处理保存到数据库并有选择性的把某些数据显示到服务器程序界面上.设计APP系统的目的是为了提高停车场的利用率,使停车系统更智能化.用户可通过APP获得在线查看停车场的状况、预定车位、付款、查看用户停车状态等服务,其系统结构见图1.

图1 系统整体结构图

2 视觉系统设计

智能泊车系统视觉部分由车牌识别、车位检测两部分组成,通过机器视觉技术实现智能泊车功能.

2.1 车牌识别

车牌识别算法大致分为3步:图像预处理、数学形态学车牌粗定位、蓝色像素统计与行列扫描车牌精确定位[7-9].通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号[10-12].

车牌识别的步骤有6个:(1)图像压缩.图像采集设备所采集的图像尺寸较大,导致图像处理运算量极大,为了保证系统的实时性,提高运算速度,必须缩小图像的尺寸.(2)RGB彩色图像灰度转换.RGB彩色图像在MATLAB中是由3个255级的灰度矩阵按一定比例构成,彩色图像含有大量彩色信息,占据存储空间较多,可对彩色图像进行降维处理.(3)图像灰度拉伸.经过灰度转换后的图像,有可能出现对比度不高、图像画面模糊等问题,此时需要进行灰度拉伸,提高图像对比度,突出车牌区域,本算法采用自适应灰度拉伸.(4)增强车牌区域图像.该步骤主要采用数学形态学中的开运算,先腐蚀后膨胀,消除背景噪声,并采用简单的图像代数运算,突出车牌区域.(5)车辆图像二值化处理.该步骤采用取图像灰度范围三分点为阈值的车辆图像二值化方法.(6)车牌提取.通过边缘检测获取牌照以及字符的轮廓.该步骤采用了对弱边缘有较精确的提取能力,同时又能较大程度保留车牌轮廓纹理的Canny算子.

2.2 车位检测模块

车位检测模块的作用在于统计停车场剩余车位.识别到停车场的剩余车位后,服务器会把停车场的停车情况反馈到APP上,使用户能够实时的查看停车场的状况,方便用户选择停车场.笔者采用模板匹配的方法,检测停车位上是否有车辆停放.停车场的每个车位都有固定的车位编号,通过模板匹配的方法,逐一匹配判断是否有对应的车位编号.具体车位检测流程见图2.通过create_shape_model算子创建车位序号模板,find_shape_model算子进行模板匹配,当车辆进入车位后,若无法匹配到对应的车位编号,表示此时车位已被占用.

3 管理系统设计

图2 车位检测流程图

智能泊车系统管理部分由上位机系统和APP系统部分组成,实现在线查看停车场的状况、预定车位、付款、查看用户停车状态等功能.在 Myeclipse和 Qt Creater开发环境下,使用 Java和 C/C++开发语言,结合 Tomcat、Servlet和 MySQL等技术,完成上位机的开发,实现4个功能:(1)计算汽车的停车时间与收费金额;(2)监控进出车辆车牌号,停车时间和查询历史记录等;(3)通过操作数据库把停车场的各种信息(用户信息、预定车位信息、车位信息等)保存在Mysql数据库上;(4)通过HTTP协议远程传输停车场的停车信息(停车场剩余车位、车辆停车状态等)到移动端APP上显示[13-14].

首先服务器初始化停车场的预定信息,然后对视觉系统传输过来的数据进行处理,获得停车场的有用信息并保存到MySQL数据库上,再有选择地显示到上位机界面上,并把信息公布到APP上.上位机显示和传输功能完成后,上位机把停车场的全部停车信息发布到APP上,同时监控用户是否有在线预约车位和取消订单的行为.若用户使用了预约功能,如果当前预约时间段的停车位大于零,服务器会使用户预约的停车时间段的停车位数量减少一个,若当前预约的时间段停车位数量为零,用户则无法预约当前停车位.其中上位机程序流程图见图3,上位机界面见图4.

图3 上位机程序流程图

图4 上位机主界面

APP程序是在Eclipse开发环境下,使用JAVA开发语言开发的[15].APP上设计的界面有:登录界面、车位查询界面、预定记录界面、用户个人界面、停车场信息界面和付款界面等.其中APP的全部界面见图5.其主要实现功能包括:(1)显示各个停车场当前停车情况;(2)显示用户的历史停车情况;(3)显示绑定的车牌好的停车状况信息;(4)提供在线预约、付款的功能;(5)提供联系客服的服务.

图5 APP界面结构图

4 测试结果

经过反复调试后,系统能够对停车场进行自动化管理,实现多个停车场同时管理,实时监测车位剩余量及车辆停放信息,用户可在APP上实时查看爱车状态,实现真正的全方位智能泊车.

用户可通过输入正确的用户名和密码登录APP.其登录界面见图6(a).登录成功后,APP会跳转到车位查询主界面.在此界面上,用户可查看各个停车场的主界面.其主界面见图6(b).点击停车的相应场位置,APP会跳转到对应的预约界面.在预约界面上,用户可查看当前停车场的使用情况,并提供预约车位的功能.车位预定界面见图6(c).在线付款见图6(d).另外,在登录成功后,用户也可以点击“预定记录”按键来查看历史预约记录.预定记录界面见图6(e).当点击“我的”按钮时,APP会跳转到用户界面。在用户界面上,可查看已绑定的车牌号对应的车辆的停车情况,同时还提供退款、联系客服和查看公告等辅助小功能.用户界面见图 6(f).

图6 APP界面图

笔者采用物联网技术、机器视觉技术、无线数据传输技术和Android技术开发的智能泊车系统,实现了自动识别车牌、在线查看实时剩余车位、在线查看当前停车情况、在线预定车位、在线付款等功能.实验结果表明,该系统使停车场更加智能化,大大地提高了停车效率及停车场的利用率.

猜你喜欢
泊车车牌车位
基于MATLAB的平行泊车路径规划
基于CarSim的平行泊车仿真分析
为了车位我选择了环保出行
我自己找到一个
Arrive平台新增智能泊车推荐引擎 帮助找到最佳泊车地点
数字图像处理技术在车牌识别系统中的应用
一个车位,只停一辆?
第一张车牌
基于MATLAB 的车牌识别系统研究
第三代自动泊车辅助系统