基于机器视觉的停车场管理系统的制作方法

文档序号:15967726发布日期:2018-11-16 23:17阅读:432来源:国知局

本专利属于信息技术领域,具体而言涉及一种基于机器视觉的停车场管理系统。

背景技术

据统计,截至2017年6月底全国机动车保有量达到3.04亿,且呈持续上升态势,相比而言我国停车场的建设速度却始终跟不上,停车位与机动车之间的比例在持续下降,出现停车难等现象。

此外,除了停车位的绝对数量不足之外,停车场的信息散布也不充分,导致驾驶员在路上寻找停车场,造成所谓的“不必要交通”。并且,当车辆进入停车场后,停车场内引导不足,驾驶员在在不熟悉停车场环境的情况下,没有办法迅速停到恰当的位置,效率不高,此外大部分的停车场仍然采用人工收费的形式,进一步影响了停车的效率,造成了交通的压力。



技术实现要素:

本专利正是基于现有技术的上述情况而提出的,本专利要解决的技术问题是提供一种基于机器视觉的停车场管理系统,以通过智能化的解决方案提高停车的效率。

为了解决上述技术问题,本专利提供的技术方案包括:

一种基于机器视觉的停车场管理系统,其特征在于,所述系统包括:用户智能终端所述用户智能终端可以是用户的智能手机、平板电脑,或者是其他手持智能设备;还可以是其他装在在车上的智能设备,例如车载平板电脑,或者是车载智能系统等等;所述用户智能终端一方面用于向服务器提供用户车辆的信息,另一方面作为交互的媒介,接收服务器发送的信息和指令,并给用户提供用操作界面;停车场组件所述停车场组件包括车位监测摄像机、车辆识别摄像机、停车位荧光标记、停车场指示灯;所述停车场组件一方面用于完成停车场车位以及车辆信息的采集,另一方面用于识别驶入停车场车位的车辆信息以及引导车辆在停车场内行驶;车位监测摄像机,拍摄停车位的照片,并将停车位的照片传送至服务器;车辆识别摄像机,拍摄驶入或驶出车场的车辆,并将照片传送给服务器;停车位荧光标记,设置在停车位上,并置于所述车位检测摄像机拍摄的范围之内,用于标记车辆被占用与否的光学状态;停车场指示灯,包括led点阵图文显示屏,显示屏应设在主要的分岔路口,显示的内容包括车辆信息和行进方向信息;服务器所述服务器包括数据获取装置,数据发送装置,数据处理装置;用于获取处理从所述用户智能终端传送的信息,并将用户指示信息传送给所述用户智能终端以及所述停车场组件。

本专利通过智能获取车辆、用户、停车场的信息,并通过服务器的智能计算和智能预测,引导用户合理利用车位,提高了停车效率,缓解了交通压力。

附图说明

图1是本专利系统硬件结构图

图2是本专利中完成车牌定位和字符分割之后,得到的有顺序的单个字符的图像

图3是本专利中对二值化后的图片像素进行加权求和后得到的图像。

具体实施方式

下面结合附图对本专利的具体实施方式进行详细说明,需要指出的是,该具体实施方式仅仅是对本专利优选技术方案的举例,并不能理解为对本专利保护范围的限制。

实施例一

本具体实施例提供了一种基于机器视觉的停车场管理系统,如图1所示,所述系统包括:

用户智能终端

所述用户智能终端可以是用户的智能手机、平板电脑,或者是其他手持智能设备;还可以是其他装在在车上的智能设备,例如车载平板电脑,或者是车载智能系统等等。所述用户智能终端一方面用于向服务器提供用户车辆的信息,另一方面作为交互的媒介,接收服务器发送的信息和指令,并给用户提供用操作界面。

在本实施例中,用户可以通过所述智能终端设置用户车辆的信息,例如车辆的类型,车牌号等;另一方面可以通过所述智能终端接收到来自服务器的车位信息、车辆移动信息、以及付费信息等,并根据所述信息选择对应的操作。在本具体实施方式中,所述操作都可以集中在微信的小程序中实现,这样可以利用微信的受众面广泛的特点以及便于获取相应的地理位置信息等来实现相应的功能。用户可在微信小程序中查看停车位和车辆的情况,调用百度地图api(applicationprogramminginterface,应用程序编程接口)完成停车场内的导航,在车辆驶出停车场时同样上传车牌信息到mysql数据库通过调用微信小程序的支付api即可完成自动计时扣费的功能。

用户在注册好之后,手动选择目标停车场,并且预约车位,点击预约之后,手机向对应停车场的计算服务器发送预约信息(预计到达时间,可通过百度地图内置的算法估计,准确率很高)和车辆信息(车牌号)。服务器在向外界发送空余车位的信息时,空余车位信息采用停车场内摄像头采集的车位数量值减去预约数的值,同时为了避免恶性预约造成的场内资源浪费,停车场只接受预计到达时间在10分钟内的预约,即只有用户在停车场附近区域内时才可预约。用户在预约时间之前到达停车场,预约即完成并终止;用户超过预约时间2分钟还未到达目标停车场,预约取消。

此外,所述智能终端还接收来自于所述服务器的信息,实现车位预测信息查询,车场导航,以及其它的操作。

停车场组件

所述停车场组件一方面用于完成停车场车位信息的采集,另一方面用于识别驶入停车场车位的车辆信息。通常在现有技术中停车场可以分为三种,一种是地上的路边停车场,一种是地下或者是室内停车场,还有一种是立体车库类停车场,三种停车场都可以通过设置停车场组件来实现车位信息和驶入车辆信息的获取。

在本具体实施方式中,为了准确获取停车位和车辆的信息,所述停车场组件包括摄像装置,例如摄像机或者是照相机等,通过摄像装置的拍摄来实现车辆信息的采集,拍摄包含车辆车牌号的照片然后通过如下算法来实现车辆车牌还的提取:

步骤一、通过边缘检测分割出目标车牌区域

通过对照片进行区域操作(边缘检测)将我们“感兴趣”的车牌区域分割出来,这时检测这个区域的长宽比,根据我国的标准,城市中常见的大型汽车、小型汽车等的前车牌尺寸都为440*140mm国内标准车牌包含7个字符,首字符为汉字,其次为大写的英文字符,最后5个字符为数字和字母混用。

所述边缘检测包括,首先获取通过摄像机拍摄的车牌附近区域的照片,这一步可以通过设置摄像机的位置来完成,直接获取由摄像机传送来的图片文件。

然后对图像进行预处理。所述预处理包括,将源图进行灰度化,以便于对图像进行平滑去噪。再利用matlab的medfilt2二维中值滤波函数处理图像去除噪点。在现实生活中,车辆往往因环境因素导致车身布满灰尘、车牌字符不是特别清晰,图像会带有噪声,采用中值滤波用邻域中值代替该噪点的像素值,这里我们设定噪点的大小参数是3*3像素的矩阵。这种操作会带来边缘模糊,但是由于提取车牌位置在图像中心,形成的边缘模糊不会影响结果。

上述图像预处理后,再通过数学形态学的方法来去除噪声和填补孔洞,在matlab中具体操作步骤如下,首先对原始图像利用strel函数形成半径为1的圆结构体,利用imdilate和imerode函数对图像进行腐蚀、膨胀。使腐蚀和膨胀后的结果相减,再卷积以增强边缘。通过imjust函数以增强对比度。由于初始的车牌照片通常存在倾斜的情况,通过霍夫变换可以将图像矫正,方便分割,霍夫变换首先检测图像中的直线,并可以计算其相对于水平线的倾斜角度,然后利用imrotate函数旋转图像使目标区域水平。

经上述操作后对车牌进行粗定位。由于车身的纹理主要为水平边缘,而车牌字符的纹理主要为垂直边缘。依据此特性采用sobel算法实现边缘垂直检测可以对车牌粗定位。sobel算法是一离散型差分算子,用以运算图像高亮函数的灰度近似值,计算过程为

式中:3*3矩阵为卷积因子;*为卷积;a为原始图像,gx是存在水平边缘的图像,gy是存在竖直边缘的图像,g即为原图像的梯度强度图。

处理后利用imfill函数填充孔洞,利用bwareaopen函数选择像素大于500的联通区域;再利用regionprops函数的bondingbox属性求得包括面域的最小矩形,通过判断矩形的宽高比来确定是否为字符,如果宽高比与目标的0.5误差小于0.05(可调整的阈值)时即认为是字符,对其标记,如图利用imcorp函数将这些矩形区域分割出来并保存在一个临时文件夹里。

步骤二、若区域操作分割出来的字符数少于7个,则用颜色定位法来重新获取“感兴趣”区域

按照步骤一所述的方法,虽然能够成功定位大多数车牌,但在处理有大量垂直边缘的图像时难以准确定位车牌,因此在本具体实施方式中,当步骤一得到的字符数目少于7个,则进行步骤二的操作,使用颜色定位法来重新获取目标区域,即车牌区域。

由于我国车牌大多数是黄底、蓝底和绿底的,这为通过颜色来定位车牌提供了条件。所述步骤二中的颜色定位法包括:

首先将图片转换为hsv颜色模型。h、s、v分别代表色调、饱和度和亮度,其中h为唯一一个与颜色有关的分量,因此选定s和v的阈值对h进行筛选,定位车牌所在位置。

利用imcorp函数将其分割出来,对分割后的图像利用strel函数形成半径为1的圆结构体,利用imdilate和imerode函数对图像进行腐蚀、膨胀。使腐蚀和膨胀后的结果相减,再卷积以增强边缘。通过imjust函数以增强对比度。通过霍夫变化检测直线,得到其与水平线的夹角,利用imrotate函数将图像旋转至水平。将图像二值化,二值化处理后利用imfill函数填充孔洞,利用bwareaopen函数选择像素大于500的联通区域;再利用regionprops函数的bondingbox属性求得包括面域的最小矩形,通过判断矩形的宽高比来确定是否为字符,如果宽高比与目标的0.5误差小于0.05(可调整的阈值)时即认为是字符,对其标记,如图利用imcorp函数将这些矩形区域分割出来并保存在一个临时文件夹里。

步骤三、处理得到的字符图片

完成车牌定位和字符分割之后,得到的将是有顺序的单个字符的图像,且二值化处理后的图片根据分辨率的大小的不同是大小不同的矩阵,矩阵元素仅含0和1将矩阵展开成一个一维数组,该数组的长度为图片所含像素数,所有字符的图片所展开的方式应相同。

为了得到一张给定图片属于某个特定数字类的证据,对二值化后的图片像素进行加权求和(对于权值的定义如下,对于单个字符的二值化后的矩阵,矩阵中元素值为1的对应权值矩阵中的元素为正,元素值为0的对应权值矩阵元素为负)已有的字符照片经过同样的处理后标签,每个字符对应特定的标签。

步骤四、训练bp神经网络,识别具体的车牌字符

通过训练bp神经网络来实现这个功能,神经网络输入层神经元数为图片所含像素值数,输出层有65个神经元,与车牌里使用的汉字、字母和数字一一对应,导入标签过的字符图片展开后的向量集合,通过bp神经网络误差反向传播的特性修改网络中的权值分配达到训练的目的。

bp学习算法的基本原理是梯度最快下降法,即通过调整权值使网络总误差最小,在信号前向传播阶段,输入信号经输入层处理再经中间层处理最后传向输出层处理;在误差反向传播阶段,将输出层输出的信号值与期望输出信号值比较得到误差,若误差较大则把误差信号传回中间层直至输入层,在各层神经元中使用误差信号修改权值系数,之后进入下一轮迭代,如此循环直至误差最小,实际输出信号值接近期望输出信号值。本网络中误差评价使用交叉熵。

实际使用时,把之前分割处理储存好的临时文件输入到训练好的网络中,网络即输出一个长度为65的向量"one-hotvectors",如(1,0,0,0……)其中只有一个数值是1其余为0,而1对应所属的字符即为导入的字符图片最有可能属于的字符。

所述停车场组件还包括车位信息获取装置,车位信息获取装置针对不同的停车场种类以及不同的停车方式,例如对于立体车库,通常在立体车库内均设置有车位管理系统,可以通过获取该车位管理系统中的车位信息来获取立体车位的停车位信息。

但是在现有技术中,对于普通的路边或者是地下停车位,由于没有建立相应的数据采集设备,这需要进行另外的数据采集设备设置。在本具体实施方式中,所述车位信息获取装置可以通过摄像装置和车位标记来实现。

所述摄像装置可以是设置在车位区域的摄像头,通过拍摄照片的方式来确定所述车位的图像,然后基于机器的实据判断来确定车位是否被占用。在本具体实施方式中,所述摄像头可以灵活地设置一个或者多个,但是首先需要摄取需要判断的车位区域的图像。

由于停车场内的光线等因素,通过识别车辆去判断车位是否被占用是有困难的,因此在本具体实施方式中,除了设置摄像头之外还在停车位上设置荧光标志,在每个车位的具体位置上设置荧光涂料绘制的标志。这样所述摄像头所拍摄的车位区域就是包括了荧光标志的区域,当荧光标志显示时,即表示该车位是空的,当荧光标志被占用时则显示该车位是被占用。

本具体实施方式中通过bp神经网络来判断所述车位图像中的车位是否被占用,该过程由服务器来完成,即当所述摄像头获取车位图像之后将该图像传送给服务器,服务器中搭载有车位状态识别模型,所述车位状态识别模型包括bp神经网络。

具体处理过程如下,首先没有车辆时在采用视频录像中的某一帧进行识别,与车牌的处理过程类似,将图像灰度化,对图像进行中值滤波去除噪声,然后对图像中的车位区域进行划分;因为摄像头角度一旦固定则轻易不会改变,所以在本具体实施方式中可以预定的标准对图片进行划分,使分割后的每张照片对应一个停车位且含有一个反光标志。

因为不存在分割图像里的标志的需求,分割完成后直接二值化处理分割后的图像,再展开为一维数组,长度为图片所含像素数。对有车辆时的图片进行相同操作,得到数组储存备用。

因为图标的位置相对固定,因此不需要很多的样本和很多次的循环去修改中间层的权值,为训练bp神经网络,把上面展开的向量(有、无车时的照片)并且给定对应图片的输出是1、0,导入bp神经网络中,同样通过像素的加权求和的形式来计算一张图片属于我们想要的结果的证据(定义图标覆盖区域为权值正,其余区域权值为负),通过计算交叉熵计算损失。经过有限次的循环、修改权值之后神经网络训练完成,即再输入一张图片,神经网络输出1或0代表有车或无车。

bp神经网络的输入层神经元数为一维数组的元素数,中间层神经元数根据映射网络存在定理(kolmogorov定理),假设输入层有n个神经元,则中间层有2n+1个神经元,输出层有一个神经元,输出1或0代表此图片中有无特殊反光标记,即有无车辆。

使用时,取固定时间的间隔的图像进行识别,例如0.1s,将图像按照预定的程序分割之后,进行二值化等处理,展开成向量,导入到训练好的网络中,网络输出0则表示车位未被占用,输出1则为车位被占用。识别后的结果会被用来修改停车场模型中的矩阵模型,下文中会提到此模型。

为了方便对停车者的引导,所述车场内单元还包括场内指示led显示屏。考虑到布线、可靠性和能耗等问题,流水灯式的即在道路两旁设置流水状的灯光引导led是不可靠的,因此,在本具体实施方式中,采用车场内固定的led点阵图文显示屏,显示屏应设在主要的分岔路口,显示的内容主要分为两部分,车辆信息和行进方向。所述车辆信息和行进方向可以通过所述服务器获取,这样可以根据服务器给所述车辆分配的车位来引导车辆驶入预定的停车位。所述车辆信息可以从所述服务器传送而来,按照入场顺序滚动播放,更新频率按照固定时间段内入场车辆数而定,且应实地标定到达各显示屏的时间,估计提前量,以达到较好的显示效果,按照标定的时间来显示提示,为避免有司机错过信息或提前想知道信息,显示屏上还应显示前一辆(估计提前量,在车辆运行到看不到显示屏之前的某个位置显示)和后一辆车的指示信息,但因与当前应该显示的信息由明显的层次差别。所述行进方向可以通过箭头显示,符合司机的阅读习惯。

服务器

如图1所示,本具体实施方式中,所述服务器与用户终端以及停车场组件相连接,所述服务其中搭载有数据库,用于收集所述用户终端以及所述停车场组件的数据。

除了如上文中提到了所述服务器用于收集用户终端的收据,并提供与用户终端的交互之外,所述服务器还可以用于收集停车场组件的数据,判断停车场中传送来的信息,并与停车场组件进行交互,这同样在前文中有所描述。

此外,在本具体实施方式中,所述服务器还包括车位预测单元,用于预测预定区域中的停车位数量。

在所述预测单元中,采用神经网络进行预测。在现有技术中,以时间为唯一影响因素的预测算法是不可靠的,因为停车场的空余车位数还于城市发展水平、停车场所处位置和周围交通情况、天气情况、是否为节假日等相关。

因此,在本具体实施方式中,把停车场所处位置、天气、是否为节假日量化为影响因素,将其视作神经网络的输入变量。由映射网络存在定理(kolmogorov定理),给定任一连续函数,可以精确的用一个三层前向神经网络实现。

在本系统中,我们采用t-50、t-40、t-30、t-20、t-10、t时刻的空余车位数来预测t+10时刻的空余车位数,设计神经网络输入层有九个神经元,分别上述对应6个时刻的空余车位数和上文提到的位置、天气、是否为节假日三个影响因素,中间层取19个神经元,输出层有一个神经元对应t+10时刻的空余车位数。传递函数选择sigmoid函数

(可以定义一下上述公式中的字母)输出层采用纯线性函数

f(x)=x(可以定义一下上述公式中的字母)

对于之前有相关数据记录的停车场,可以采用历史数据对神经网络进行训练,且针对每个月进行拟合,以期满足季度性的停车需求带来的影响(如旅游旺季带来的停车需求)

而没有相关数据记录的停车场可以暂不开通预约停车服务,采用本停车管理系统至少四个月(每季度一个月)之后再开通,且训练采用的数据库不断更新,这样就能使空余车位预测能“与时俱进”。

以上仅仅是本专利优选的技术方案而已,凡是在本专利发明构思下对本专利进行的修改、替换和删除都应当纳入到本专利的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1