基于Linux系统的智能停车场设计
2021-10-30周航陈开辉甘睿科
◆周航 陈开辉 甘睿科
基于Linux系统的智能停车场设计
◆周航 陈开辉 甘睿科
(广西科技大学 电气与信息工程学院 广西 545616)
为了应对城市交通急速发展与新能源车辆的推广,设计了一种基于Linux操作系统的智能停车场系统。该系统通过图像识别与智能管控系统,实现对入场车辆的识别登记与车位安排。实现停车场无人管理情况下车辆的进出入并引导车辆行至正确位置。实验测试结果表明系统运作可行性高、效率提升明显,满足设计需求。
车辆识别;智能停车场;智能引导;无人值守
现如今城市化迅速发展,新能源汽车随处可见,车辆停泊充电问题成为城市面临的一个巨大挑战[1]。在现有城市停车面积无法扩增的情况下,提出无人值守,智能管理的停车场系统用以取代传统人工管理模式以缓解城市停车压力、交通压力变得非常重要有意义。针对司机停、取车效率低下,设计无人自识别登记入库系统,有利于使司机停车更便捷,停车场盈利和效率提高。针对司机在泊车区域内寻找车位浪费大量时间,研究基于多定位传感器智能引导算法引导车辆泊入空位,缩短了急需停放车辆的滞留时间[1]。在新能源汽车快速发展的今天,对新能源汽车提供了良好支持。
1 系统结构与工作原理
1.1 系统组成
该停车场系统以 Linux 主控系统为一级控制系统,针对车辆停泊多个流程设计车辆智能登记系统,智能引导系统,车位管理系统等多个二级子系统,子系统间网关采用ZigBee协议并发送信息至主控系统。
图1 系统组成图
2 子系统运行流程
2.1 基于Opencv建立车辆信息识别子系统
本系统采用基于Opencv视觉识别库,移植至Linux平台,首先由CCD相机收集车牌图像数据,进行预处理,定位识别区域,将图像特征提取;然后将图像做二值化处理与分析,获得所需车辆信息。在现有技术下识别“92式”车牌号非常成熟,获得车辆信息后由系统判断选择,推送相应车位,并由车位引导子系统进行下一步引导[3-4]。
2.2 车位引导子系统
本系统主要功能是迅速引导车主行驶至系统选定的车位。在引导前系统已通过图像识别,获得停车场车位信息。首先系统分配最优车位,通过引导系统所设传感器获取车辆位置,然后通过最优路径算法得出最优路径,最后通过指示灯显示屏引导车主泊入车位。
图2 车位引导系统工作流程图
3 系统车牌识别设计
本系统提出的识别和读取车牌的方法包括四个部分:处理图像和分离车牌,调整分离后的车牌至适当大小后对其处理以进行字符识别,从车牌中获得单独提取的字符,并最终在处理后的字符图像上进行识别以获得车牌号[3]。
3.1 车牌粗定位
对于该步骤,处理图像的第一步一般是将彩色图像转化为灰色图像,称为灰度化处理,是一个降维处理过程[4]。步骤目的在于将其转换为一个方便处理的二维数组。第二步利用双边滤波器去除图片底噪使得图像变得平滑。然后将该图像处理为电脑可以读取的格式,并发送给树莓派进行下一步处理。中国国内车牌大部分以蓝色背景白色字符为主以此为识别目标提取特征。
3.2 图像调整和预处理
处理图像的第一步是将该图片从RGB图像装换为灰度图像。步骤目的在于将其转换为一个更有用的二维数组。第二步利用双边滤波器去除图片底噪使得图像变得平滑。车牌图像必须调整大小,以便车牌上的每个字符的大小可以根据相对于整个图像的大小进行调整。
如果图像大小不同,字符大小也可能不同。整个车牌的长宽比应该得到保持,以便所需字符不会在尺寸调整时被扭曲。为此,需要为车牌设置一个目标区域,使得拍摄所获得字符彼此之间可以被区分开来。在设置的图像区域内调整图像的宽度和高度以匹配原始车牌图像的长宽比。同时缩小图像大小可以进一步减少识别处理字符所需要的时间。
车牌需要进一步处理以区分车牌上的字符与其他的无关特征,比如像螺丝和污迹,国家要求的标记等干扰物。首先使用高斯模糊处理调整过的图片灰度版本,使图像变得平滑,然后对车牌进行分割处理,图像分割是图像处理和计算机视觉中应用的基本技术手段[4]。国内外广泛使用的图像分割方法主要包括阈值分割法、聚类分割法、区域生长法、深度学习法等[10],本系统采用最大类间方差法。最后应用侵蚀函数对所获得的车牌图像进行阈值处理,得到更清晰的字符特征集。
3.3 字符定位
为了实现字符识别,最好将车牌上的字符分离为单独的图像。将前一节预处理得到的平板图像作为输入。将所获得图像利用取反函数进行反转。下一步是找到图像中的所有轮廓,并在给定的尺寸范围内分离出与预期大小相对应的轮廓[4-5]。为了进一步清理车牌并只留下车牌上的所需字符,制作一个掩模图像覆盖除所需字符的其他不必要区域,最后得到只有字符特征的车牌图像。
图3 字符二值化处理图
3.4 字符识别
这涉及将上一步获得的字符图像与数据库中已经存在的字符数据进行比较,将字符图像与一组相似的字符模板进行匹配。每个模板都有一个独立的字母与数字的组合,这些将组合构成车牌号码。
4 车辆数据库
车牌识别所得到的车牌存储在系统数据库中,方便以后的提取调用。本系统使用SQLite来实现数据库。SQLite是一个独立的数据库,适合于小型独立应用程序。它也是跨平台和ACID兼容的,也适用于大多数高级编程语言。同时车牌号码可以手动存储在数据库中,也可以在车牌识别过程中同步存储,并可以与数据库现有数据比对,以确定各个车牌的所有人。本系统这为现有的车牌识别提供了额外的设施,同时有助于扩展系统包括付费停车功能和盗窃检测等功能。
5 控制进程与界面
控制进程运行在树莓派控制器上,控制整个系统的运行。GUI程序可以在连接到同一网络的任何计算机,并在其上打开。控制器程序侦听来自GUI的TCP端口的请求[6]。它还控制系统正常运行时的完整功能。控制器对距离传感器进行轮询,以确定是否有车辆停在车道上。如果有车辆存在,则使用摄像头模块单击图像,然后运行图像处理模块。图像处理的结果是车牌号码,并与数据库核对,并打开闸机护栏。在紧急情况下,管理员可以绕过整个系统,为救护车、消防车等车辆放行。
6 实现和结果
该系统使用树莓派3、一个摄像头来捕捉车辆图像,以及一个超声波传感器来检测车辆并触发车牌识别过程。车牌识别过程使用OpenCV库处理和提取车牌图像中的字符数据,实现软件完全使用Python 2.7编码。系统管理员的独立GUI是使用Jython实现的[6]。后台数据库使用维护在树莓派上的SQLite3数据库来存储用户数据和车辆日志。一个LCD显示屏用于车辆进入过程中的用户交互。电机用于模拟闸机护栏,并在一定程度上达到了设计要求。
图4 实物测试连接图
7 结论
该系统提出用一个自动系统取代目前的人工车辆管理,该系统可以实时监录、引导进入场所的车辆,以达到减少劳动力成本、延误和给用户带来的不便并提出新能源汽车充电、停放困难的解决方法。该原型模型成功地实现了系统的设计,能够以最小的运营成本提供可靠的服务。此外,还可以根据现实情况实现增加防盗检测和付费停车等附加功能与改进的算法和图像处理技术提高服务质量。
[1]程洁羚,欧丽君,薛君志.浅析国内城市停车现状及信息化解决措施[J].信息通信,2018(2):114-115.
[2]钱承山,蒋奇峰,茅韵怡,等.基于物联网技术的智能停车场系统的设计[J].物联网技术,2016,6(7):26-27,31.
[3]李亚荣.基于Linux的停车场管理系统的设计与实现[D].内蒙古大学,2018.
[4]黄勇军,温锦锋,关芳芳,等.92式机动车号牌检验鉴定方法的研究[J].广东公安科技,2012(4):16-18.
[5]张广才,万守鹏,何继荣. 数字图像处理技术与MATLAB应用[J]. 软件,2019,40(11):139-142.
[6]陈敬静. SQLite数据库研究与可视化[D].南京邮电大学,2020.