智慧停车——停车位人工智能检测系统

2024-04-14 18:17陈诗蔚
信息系统工程 2024年1期
关键词:机器学习图像识别

陈诗蔚

摘要:伴随着私家车购买量的提升,传统的停车场管理方式逐渐暴露出空位无处寻、有空无指向、没有精准地图等问题,虽然前人已有诸多尝试,但在新科技的视野下仍不是最优解。在“新基建”的发展大环境下,智慧城市成为智慧化的重要一步,新兴技术人工智能也逐渐加入城市智慧化的工具包。为高效解决停车难问题,将图像处理技术与人工智能相结合,制作出一款停车位人工智能检测系统,实时反映当前停车场停车情况并输出视频,起到提示指引作用。

关键词:智慧停车;图像识别;机器学习

一、前言

随着经济水平的逐步攀升,汽车已经成为生活中较为常见的代步工具,在全国人民实现小康的大背景下,一家多车更是逐渐成为普遍。当前,我国智能停车场设备的市场规模已达到50亿元,且以20%的速度增长[1]。统计数据显示,截至2023年9月底,全国机动车保有量达4.3亿辆,其中汽车3.3亿辆,新能源汽车1821万辆;机动车驾驶人5.2亿人,其中汽车驾驶人4.8亿人。

这一情况也致使停车位紧缺的问题逐渐突出,包含了车位不足、停车场内空位数量无法得知、车位太多找不到最近的空车位等问题。当前有许多解决办法应用在实际中:在入口处领取IC卡来控制进入停车场的车辆数量,但这也造成了出入口处堵塞问题以及资源浪费;车牌识别系统可以减少入口堵塞,但仍存在停车场内车辆违规停放与空位不好找情况,在中大型商场的上千平米停车场,问题尤为突出。

如何解决这一系列问题,已成为城市发展、民生保障刻不容缓的重大需求。结合时下较为热门的人工智能图像识别技术,利用卫星拍摄的实时图像来制作停车场空车位导航以及瞬时计数系统,最大限度减少人力、物力使用,并在学习模型的不断优化中提高精准度。

二、需求分析

智慧化的车位管理系统在大数据中心、5G 基建、新能源汽车充电桩、人工智能、城际高速铁路和城际轨道交通等新基础建设背景下快速发展[1],《关于推动城市停车设施发展意见》中提到,到 2025年,全国将基本建成配建停车设施为主、路外公共停车设施为辅、 路内停车为补充的城市停车系统。智慧停车发展势头迅猛,权威机构数据预测,2025 年整体智慧停车市场规模将达 1.4 万亿元,5年复合增长率为 19%[2]。

人工智能、图像处理、机器学习等新兴技术飞速发展也为智慧停车系统提供必要的技术支持,对其发展产生深远影响。在交通与管理服务深层改变背景下,传统的管理方式早已存在管理效率低下、人力成本高、用户体验感不佳等弊端,不管是管理者还是用户,都应当尽快转变管理模式,比如从人力为主的管理向高效率自动服务转变,提高自助式停车服务水平,以降低人力成本,提升用户满意度[3]。

智慧停车系统可以在有限资源中盘活新资源,将每一个车位都智慧化引导到用户,增加有效车位利用率。相比新建停车场,使用智慧化停车管理系统,在现有停车场基础上进行智慧化升级改造的成本更低、建设周期更短,是更具性价比的方案[4]。

三、框架设计与开发任务明确

通过软件层次图(见图1)可知,停车位检测系统分为读取模块、预处理模块、训练模块和测试模块四个模块,除去读取模块,其余三个模块是按照主要的三个功能节点分割的。本系统最终使用的是测试模块测试图片或视频的车位状态,而测试模块需要一个网络模型来进行测试,所以分割出一个训练模块生成所需要的网络模型,但是网络模型也需要一些预处理过的图片集来训练,于是分割出了预处理模块。以上三个模块都需要使用读取的功能,最终将所有的读取功能单独分割出来形成读取模块。

(一)读取模块

读取模块的功能就是读取其他模块所需要的测试图、训练集、验证集、视频以及模型。

在所有模块中,该模块是最基础的,它为其他三个模块均提供服务:为预处理模块提供读取测试图片的服务,为训练模块提供读取训练集、验证集的服务,为测试模块提供读取模型、测试图片和测试视频的服务。

(二)预处理模块

预处理模块可以说是本系统最为重要的部分,该模块以视频中某一帧的图像为单位进行处理,主要有以下的功能:

通过二值化、灰度化、边缘检测、特定点标定连线等,把图片中多余的部分去掉,只保留停车场内的这部分对象;使用霍夫变换的直线检测,找到图片中的直线,根据直线坐标,先以列为单位,把车位按列框起来,然后对框手动微调;在每一列中,锁定每个停车位的位置,并对每个停车位进行标号,把这些标号保存成字典,而有了每个停车位的位置,就能提取出对应图片,可以作为后面模型的训练以及验证的数据集,不过需要人工手动划分。

预处理模块为训练模块提供切割车位矩形图的服务,该模块将预处理后的测试图片按车位切割成单獨的矩形图,而后,人为划分成训练集和验证集,并进一步划分为empty和occupied两部分。这些矩形图为训练模块打下基础。

预处理模块使用读取模块中读取测试图片的服务。

(三)训练模块

训练模块的主要功能就是训练出测试模块所需要的carl.h5模型。该模块为测试模块提供训练carl.h5模型的服务,具体过程如下。

训练模块功能解释为:使用VGG预训练模型,减少训练层和改变输出层后,新建神经网络model_final,通过定义该神经网络的损失值loss、优化器optimizer、学习速率lr、动量值momentum、指标metrics编译该神经网络,再通过图像增强技术改善图像的视觉效果后,调用预处理模块提供的训练集和验证集开始训练模型,最后导出carl.h5这个模型文件。

(四)测试模块

测试模块的主要功能就是利用carl.h5模型测试图片或视频中车位的状态,将空车位标记出来,并统计出总车位数量和空车位数量。

在测试的过程中,该模块还需要对图片或视频进行处理,如:调整图片大小、归一化图像、图像增维等。对于视频,还需要先将整段视频按帧转换成图片后,再处理测试。

测试模块使用读取模块的读取视频、读取测试图片和读取模型的服务,使用训练模块提供的carl.h5模型服务。

四、系统功能与实现

本系统实现的主要功能是对卫星拍摄的动态视频进行处理,动态呈现当前停车场内车辆停放情况,用绿色矩形标明空车位位置,并将总车位以及空车位数量显示在视频左上角(见图2)。

本系统的集成开发环境是PyCharm,基于深度学习和OpenCV-Python技术,还涉及H5技术。软件应用以及硬件方面主要基于 4G无线通信的物联网技术、无线地磁感应系统、LED 信息显示、语音播报模块、云平台管理系统和道闸联动系统[4]。

以下为系统具体开发环境:

开发工具:PyCharm Community Edition 2023.1.1

代码托管平台:gitee.com

版本管理:Git

后端开发环境:OpenCV 图像预处理、Tensorflow + Keras 搭建网络、CNN机器学习

在实现过程中,首先用功能模型来大致规范整体开发流程(见图3)。

(一)素材筛选

开发之初,需要明确选取什么样的视频素材,高质量、多样性和代表性的素材对机器学习来说是重要基石。通过调查发现,现阶段,随机选取刁钻角度的摄像头通过机器学习实现空车位检测付出成本较大,收益甚微,特别是植被覆盖遮挡的停车位,很容易因为植被长势迅猛而需要频繁进行机器训练才能时刻保持高精准度,同时不同类型停车位有不同颜色(黄、白、蓝)、不同样式(横向、纵向、斜向、实线、虚线)也造成了难以达到想要实现所有停车位检测的理想型通用停车位检测系统。由此,选择了较为经济的室外大型停车场车位检测系统,通过卫星监控可以较为直观地反映出实时的停车位情况,同时大型停车场规划更统一,更有利于进行停车位检测系统的初步探索。

通过一系列分析,明确了素材筛选要求:寻找一份大型停车场的俯拍卫星监控视频,这不仅可以降低模型训练的难度、提高识别准确率,还可以减少遮挡和透视变形等因素对车位识别的干扰。同时,为保证效益,停车位数量至少200个,视频时长1分钟,这样的时长能够保证有足够的样本来训练模型,并确保数据的多样性和代表性。

(二)图像预处理

接着使用视频图像截图功能代码将视频进行逐帧截图,需要至少1000张不同的车位截图,以便进行丰富的数据样本训练,这个数量可以覆盖各种车位布局和场景,增加模型的泛化能力。为了方便后续的数据处理和分割算法训练,每张图片的大小应该保持一致,像素适中。在保证精准度的同时,降低训练读取时间,通过测试规定的尺寸是1836x1080。

进入图像处理阶段,通过设置阈值来过滤背景,再将图像格式进行转换,灰度图像可以兼容使用大部分图像处理函数。使用边缘检测明确每个停车位状况,再通过人工定位裁剪出要进行检测的停车场大致区块。这些都是为了减少停车位检测干扰,降低检测难度的操作。

接着,基于霍夫变换,用直线检测法来监测直线位置,以此确定停车位。但是因为遮挡导致了对线的判断不精准,所以如果有一张没有车的图片来确定车位,那么判断会更加精准。

(三)图像划分操作

图像切割的好坏往往与测试结果的正确率有着紧密联系,所以这一步是图像处理的关键步骤。

首先,需要用过滤函数选取长度合适的线段作为停车线的判断标准,接着对连续排列的停车位进行区块划分,并将每个区块左上角和右下角坐标标记放入列表。为保证区块准确性,通过人工调参的方式不断优化选取空间,以契合规律停车位的精准定位。然后,根据等长、宽停车位长度,等间距地将区块划分成单个车位,这里的间距也需要不断试错找到最优解,这样截取车位信息的模型就完成了。

接下来直接将上一步的全局截图逐张代入模型进行划分就可以得到所有停车位上单独的截图,大大减少人工截图的时间成本。

(四)训练集与测试集

得到了数千张高质量、多样性和代表性的停车位素材,需要对素材进行人工分类,将有车和植被分到一个文件夹,将无车分到另一个文件夹。接着,将两个文件夹再分成80%的训练集与20%的测试集,这样四个文件夹的素材就全部准备就绪了。

(五)模型训练

当前可选的图像识别模型不在少数,通过时间、性能等測试,选择VGG16网络去训练,它网络速度较高,可以快速识别分析大量图像,而且精度比较高,可以满足检测停车位的需求。

读取训练集,数据增强后带入训练,一段时间后得到了一个H5模型,接着把测试集对应整体图像带入,与分类好的测试集部分进行比对,得到正确率。

(六)视频分割以及结果图片拼接

使用函数读入视频,实现逐帧读取,再采用车位分割模型进行车位快速分割,接着引入刚才训练好的H5模型进行检测,得到机器自动分类好的有无车位截图,并带有唯一编号。为了达到用户友好型系统,通过空车位编号直接读取车位坐标并将该停车位标注成红色区块,显示在该帧的截图上。因为植被位置是永远固定的,只需要提前将划分出的车位数量减去“植被位”数量,就可以得到该停车场的车位总数。同时,对于每一帧形成的一个有无车位截图,数据包都会进行计数,只需要把总车位减去空车位数量就可以得到当前停车场已有车辆数量信息,全部显示在截图左上角,更加明确。

每一帧画面都会进行操作,最后通过逐帧拼接的方式,将处理好的图像拼接成视频反馈给用户,系统就完成了检测。

五、结语

开发的停车位检测系统主要面向室外大规模停车场,停车场管理商用户只需要将该停车场卫星监控画面实时导入系统,系统就可以实时导出当前停车位空闲数量及位置,同时也可以观测其他车辆是否有前往空位的可能。

对图像处理的研究只是刚刚开始,系统还有许多进步空间,配合日新月异的硬件科技,可以有更多的创新:结合地磁系统及车位上车牌识别系统,可以做到用户找车导航、用户缴费及时;再通过遗传算法或是蚁群算法结合TSP最短路径,可以优化用户找车或是出场的时间以及人力成本,提高用户满意度。

参考文献

[1]王华安.“互联网+”智慧停车市场竞争态势加剧[J].中国公共安全,2016(18):23- 26.

[2]丛顺,董艺.智慧停车应用现状及前景分析[J].时代汽车, 2023 (05):31-33.

[3]李兰兰.无非不集:智慧停车管理的新风向标[J].中国房地产,2018(05):54-58.

[4]王茹茹.智能停车场管理系统的设计与实现[D].呼和浩特:内蒙古大学,2017.

基金项目:1.浙江省大学生科技活动计划暨新苗人才计划资助项目(项目编号:2022R412B040); 2.2022年国家级大学生创新创业训练计划(项目编号:202210341006)

作者单位:浙江农林大学数学与计算机科学学院

责任编辑:张津平

猜你喜欢
机器学习图像识别
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
浅谈模式识别在图像识别中的应用
基于词典与机器学习的中文微博情感分析
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
机器学习理论在高中自主学习中的应用