APP下载

基于A*算法的智慧停车场设计

2022-09-14裴俊艳吴景前杨阳李培硕

电子制作 2022年17期
关键词:高电平灰度车牌

裴俊艳,吴景前,杨阳,李培硕

(中国矿业大学 徐海学院,江苏徐州,221000)

0 引言

随着近年来我国经济的快速发展,居民的收入水平持续提高,汽车开始成为居民家庭的标配,汽车保有量大幅上升。根据智研咨询发布的《2020-2026年中国智慧停车行业竞争现状及投资商机预测报告》的数据显示,国内停车设施建设速度远滞后于汽车保有量的增长速度,停车位供给缺口巨大。除此之外,传统停车行业的管理方式也相对落后,存在诸多痛点,困扰着交管部门、车场运营者与私人车主。资源错配问题导致了城市车位使用率低下,也进一步加深了城市停车难的困境。为了缓解日益严重的城市停车难题,近年来我国政府持续出台相关政策,支持停车产业发展,因此智慧停车场在中国具有巨大的市场需求。尽管市面上已存在一些智慧停车场的方案,但是主要集中在计时计费和移动支付方面,对于路径规划、车位引导方面有明显不足。另外因成本原因,智慧停车场普及率过低,不同的停车场规划方案也对智慧停车场的适用性提出了较高要求。

1 设计简介

(1)研究的目标

本设计计划采用图像识别与处理技术采集车辆信息,与上位机的数据库信息进行交互,通过A*算法的改进算法分析出合理、高效的停车方案和行驶路径,并通过电子引导方式帮助车主停好车,利用硬件平台与软件环境相互交叉合作共同实现一套完备的智慧停车系统。

(2)主要内容

在车辆进入停车场时,闸口处利用图像处理技术对车牌进行扫描、识别,并将相关数据上传至上位机数据库。与此同时,利用A*优化算法为当前车辆提供最优的停车位,并规划出合理的停车路线。当车辆按照归划路线行驶时,在停车场内关键路口对车主进行路径引导。当车辆进入车位后,利用图像识别或超声波探测技术判断其是否停车规范,并对车主发出提醒。停车成功后系统会记录当前状态并更新停车场状态(见图1)。

图1 智慧停车系统流程图

2 OpenCV车牌识别系统

(1)图片灰度化与二值化

在车牌识别系统中,通常会将图片进行灰度化处理,即将所获取彩色图像转化为灰度图像,上述过程就称为图像的灰度化。灰度化的原理是,彩色图像中R、G、B三个分量的值决定了具体的像素点,一个像素点通常可以有成千上万种颜色,而灰度图像是一种特殊的彩色图像,不同之处在于R、G、B三个分量的具体值是一样的,且图像中每个像素点的变化区间是0~255,在保留图像特征和轮廓的基础上,灰度图像仍然可以反应整幅图像的完整特征。这样便为实际应用过程中简化了运算量。二值化是对于已经灰度化的图像中的每一个像素点逐个进行阈值计算,它的阈值是由像素周围点局部的灰度特性和像素灰度值来确定的。局部阈值法就是通过计算图像的每个像素灰度级,保存图像的详细信息。二值化算法描述如图2所示。

图2 图片二值化处理

(2)Canny边缘检测

Canny边缘检测是从不同的视觉对象中提取有用的结构信息从而大幅度的减少需要处理的数据量,目前Canny边缘检测技术已经广泛应用于计算机视觉系统之中。Canny边缘检测技术包络要尽可能多的捕捉图像中的边缘,捕捉到的边缘精确定位在真实边缘的中心,并要求对于给定的边缘只能被标记一次。首先通过高斯滤波器使图像平滑,滤除噪声,其次计算像素点的梯度强度和方向,应用非极大值抑制消除边缘检测带来的散杂影响,最后抑制孤立的弱边缘。

(3)车牌位置定位与识别

经过二值化的图片,车牌字符与车牌底色形成强烈的对比,字符集中于一块长方形区域,具有宽高成一点的比例。车牌区域的像素值会变化频繁,总数会大于一个定值,这时就可以将这个值作为判断车牌区域的一个依据。车牌的水平区域,最高行与最低行的差值即为车牌在图像中的高度。在水平区域内选择任意一行,用L长的窗口横向移动,统计窗口中相邻像素0,1的跳变次数并存入数组中。若窗口移动到车牌的垂直区域时,窗口内的跳变次数应该最大。所以在数组中找到最大值,最大值对应的区域即为车牌的垂直区域。

字符识别是车牌识别中重要的组成部分,字符识别的基本思路是匹配度判断。待识别字符特征与预先存储在计算机中的标准字符模式表达形式的集合逐个进行匹配,找出最接近输入字符模式的表达形式,该表达形式对应的字就是识别结果。标准字模的设计采用深度学习的神经卷积网路,将大量的数据分为训练集、测试集进行机器学习。根据我国车牌标砖,三个神经网络包含:汉字网络、字母网络、字母数字网络。

3 停车场功能设计

■ 3.1 停车场系统框图

停车场系统框图如图3所示。

图3 停车场系统框图

■ 3.2 模块简介

(1)闸门开关

该部分设计由STM32F013作为主控芯片,配合3.3V高电平触发继电器控制闸门开关。在图像处理阶段获取车牌信息后,将车辆信息发送到单片机,单片机检测到车辆信号就意味着有车辆驶入,此时会给连接继电器的GPIO口一个高电平信号,使闸门电路联通,并设置一定时长的延时,确保车辆已经驶入停车场内。随后恢复GPIO口的低电平状态等待下一次信号的到来。在实验研究阶段利用有源蜂鸣器对闸门抬起与放下状态进行模拟,在实际操作时可选取高电压的继电器控制闸门开关。

(2)路线指引

路线指引基于A*(A-Star)算法规划最优停车路线,利用0.96寸OLED屏幕显示最优路径信息,从而对用户进行路径指引。A*(A-Star)算法是一种在静态路网中求解最短路径最有效的直接搜索方法。表达公式为f*(n)=g*(n)+h*(n)。其中,f*(n)是从初始状态经由状态n到目标状态的最小代价估计,g*(n) 是在状态空间中从初始状态到状态n的最小代价,h*(n) 是从状态n到目标状态的路径的最小估计代价。对路径进行搜索时,需要创建两个表,表一中保存所有已经生成但是没有被考察到的节点,表二中保存已经被访问过的节点,计算起点h*(n)的值放入表一中,经过C语言程序里的判断和循环语句不断更新表一里f*(n)的值并对其进行排序,即从终点开始,每一个节点沿着父节点移动直到起点形成的路径取倒序就是所获取的最优路径。

图4 最优路径关键算法

(3)停车检测

停车检测是针对停车场因停车不规范而导致的停车位利用率低下问题所设计研究的。在用户到达停车位时,该系统利用超声波模块测量车身与车位边界的距离,从而判断该车位用户是否停车规范。超声波传感器采用的是HCSR04,具有VCC、GND、Trig、Echo四个引脚,其使用方法为:将Trig 设置为高电平并保持至少10μs,传感器将发出 8 个脉冲的声波。对于声波产生回声所需的整个时间内, Echo 要设为高电平。该高电平维持时间即是声波经过的时间,则可计算障碍物的距离。测量Echo 为高电平的时间是利用STM32的通用定时器进行输入捕获,测量得到的高电平时间通过公式:距离 = Thigh×340/2 (m) ,其中Thigh单位为秒(s), 340米/秒(m/s)为声速。在停车合格的时指示屏显示停车完成信息,并回传车位信息,然后在算法中将该车位位置设置为障碍物,并将程序里记录车位数变量的值减一,以提醒后来用户是否有空余车位,减少排队等候时间。同时在用户将车驶出时,释放被标志的障碍物,获得障碍物标志时间,从而实现对车辆的收费管理。

4 移动数据端设计

■ 4.1 移动数据端系统框图

移动数据端系统框图如图5所示。

图5 移动数据端系统框图

■ 4.2 模块简介

(1)微信小程序

智慧停车场系统移动端的设计可以很大程度上减少硬件手持设备的开销,将手机作为数据显示、路径指引的工具,可以很大程度上提高用户的使用的便捷程度。本次移动数据端将微信小程序作为交互平台,微信小程序是一种不用下载就可以使用的应用,也是一种创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态,目前已经有超过150万的开发者加入到了微信小程序的开发,小程序使用的是JS编程语言,有成熟的框架、组件等工具,开发周期更短、流程更简单,只需要一个开发版本,即可跨平台运行在Android和iOS上;非常适合低频简单的应用程序;大小不到1MB,无需下载加载且速度极快;支持多级缓存,查询获取信息的效率更高。主要用到的文件有视图层和逻辑层,视图层是用来显示页面的制作效果,用作人机交互的界面,可以通过WXML来设计页面效果。逻辑层用来处理页面之间传递的数据、参数,涉及到一些组件,处理内部的数据交互,可以通过js文件来实现逻辑功能。部分页面如图6~7所示。

图6 上传OneNet数据

图7 获取OneNet数据

系统根据传感器上传的数据实时更新车位状态,在小程序可查看当前剩余车位数量、当前场内排队数量以及等待时长,如图8~9所示。

图8 用户登录界面

图9 车位状态显示界面

(2)MQTT通信协议

数据传输使用MQTT通信协议,将单片机采集到的数据用ATK-ESP8266 WIFI模块发送到MQTT服务器,微信小程序通过订阅服务器转发路径来获取单片机的数据,从而实现单片机到小程序的数据传输。MQTT服务器可以自建或者租用网络上一些开源的已经建设好的服务器申请添加设备。MQTT服务器通过设备号、密码、端口号以及mqtt:ws地址与微信小程序进行联接、相互通信,MQTT服务器起着中间桥梁的作用,联系着下位机与上位机,进行客户端与服务器端的通信。MQTTBox软件是一个带有可视化界面的MQTT客户端工具。该软件具有很多优良特性:支持创建连接到相同或不同MQTT代理的多个并发MQTT客户端、支持TCP,SSL/TLS,Web套接字和安全的Web套接字、支持创建具有多种连接设置的MQTT客户端。

通信部分采用ESP8166WiFi模块,该模块目前已经广泛应用于物联网智能家居领域。本次设计便利用这一模块进行数据传输,首先将单片机采集到的数据用ATK-ESP8266 WiFi模块发送到MQTT服务器,微信小程序通过订阅服务器转发路径来获取单片机的数据,最终实现单片机到小程序的数据传输。

5 总结

此次智慧停车场的设计,采用出入识别系统都连接到一个系统后台,用户可以通过小程序到这个系统查看所有停车场信息,提示用户是否有车位,进入停车场后小程序可以自动结算费用,付费成功即可离开。在物联网迅速发展与现代城市停车位一位难求的状况之下,本设计可以很好的解决都市停车难效率低的问题,具有良好的市场发展前景。同时在一些突发事件需要提升改进,如在车主没有按照规划路径行驶或停车的情况下,需要设有动态灵活的实时解决方案,确保先前的错误停车不会影响后续到达停车场车辆的秩序,存在的问题在后续的算法设计中有待进行多方面研究与考察。同时在生活中进行大量的实地考察不断完善最优路径规划时应该注意的多方面综合因素,切实考虑用户的实际需求。

猜你喜欢

高电平灰度车牌
基于二值化灰度图像的大豆蛋白液喷雾相对雾化程度的研究
车牌颜色里的秘密
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
高电平MMC子模块电容电压控制策略研究
数字电子技术的应用
第一张车牌
一种侧向插装型车牌架
浅谈物理电路与数字电路
关于Multisim10.0的高电平调幅电路仿真研究