基于OpenCV 和物联网的辅助停车预警系统设计

2022-06-29 06:08喻博威先俊泽
电子设计工程 2022年12期
关键词:分类器北斗图像

喻博威,先俊泽,赵 洋,周 波

(四川轻化工大学物理与电子工程学院,四川宜宾 644000)

目前,我国的违章停车问题越来越普遍,据调查,我国的交通违规中有32.5%属于违规停车,其中90%以上的违规停车属于“无意”的,仅仅是车主的粗心大意。因此,为了在硬件层面更为便捷地解决这个问题,该设计用树莓派作前推,采用OpenCV 进行图像处理,并结合时下热门的物联网技术,在OneNET 云端对处理后的信息进行存储和调配,进行大数据分析;并开发出配套的微信小程序,使车主可以查看自己的记录,以此减少违章停车次数,从而达到改善城市公共交通秩序的目的[1-3]。

1 系统框架设计

在系统总体框架的搭建中,运用模块化的思维,将系统分为图像处理模块、北斗模块、物联网平台、微信小程序终端。在图像处理模块中,为实现禁停标识的实时采集与识别,选取了处理器主频达1.5 GHz 的raspberry pi 4B,并通过OpenCV 实现对图像的精准识别;在北斗模块中,利用北斗导航系统获取设备的实时经纬度以及速度信息,并上传至物联网平台,进行数据的存储和后台可视化窗口的搭建;选取了中国移动的OneNET 物联网平台来接收数据,并为后续的大数据处理提供接口;为方便用户的使用,在终端使用微信小程序作为接收端口,实现精准的定位和及时的提醒。其系统框图如图1所示。

图1 系统总体框图

2 图像处理模块

2.1 禁停标识模型的搭建

关于标志物的识别和分类,文中先利用卷积神经网络提取不同禁停标识的相关特征,再通过Cascade(级联)分类器得到最后的分类结果[4]。

文中采用Haar 特征提取算法来实现矩阵特征的提取。Haar-like 特征最早由Papageorigiou 提出,并用于人脸的描述,对其他目标检测技术,也可以使用Haar 特征对目标图像进行特征提取。目标物的训练使用了Cascade(级联)分类器的Haar 特征,作为训练样本数据的特征描述因子,然后将特征描述因子作为样本数据送入Cascade 分类器中,通过Adaboost(adapt boost)自适应推进算法来训练用于图像识别和目标检测的分类器[5-8]。然后通过级联和积分图进行快速运算,从而达到检测目标物体的目的。

该文在特征提取方面受到Viola 提出的原始矩阵特征的启发,建立了3×3×3 的卷积核结构。该方法在保证了精度和深度的同时,提高了运算速度[9]。

对交通标识矩阵特征的提取如图2 所示。

图2 禁停标识特征图

对于图2 的两个矩形特征,在一定程度上可以表现出禁止停车交通标示的某些特征。在中间的一幅图中,Ⅰ区域的颜色比Ⅱ区域的颜色深,右边的图中Ⅳ、Ⅴ区域的颜色比Ⅲ区域的颜色要深。运用Haar 的特征计算公式v=Sum(白)-Sum(黑)对其进行Haar 特征计算。

该算法基于特征对禁停目标进行计算,使其能够在有限数据的情况下编码特定区域的状态;并可将每一个特征在训练图像子窗口中进行滑动计算,从而获取各个位置的各类矩阵特征;当找出子窗口的所有特征后,便可进行分类训练。

2.2 特征总数量的计算

特征总数量的大小直接关乎到分类训练的快慢以及运算速度的大小。文中通过多次计算取平均值得出不同窗口大小下的特征总数量。理论计算过程如下:

在m×m的子窗中,满足(s,t)条件(x方向边长必须能被自然数s整除,y方向边长必须能被自然数t整除)的所有矩形数量可以由以下公式计算得出:

由式(1)计算可得出在不同子窗口大小内特征的总数量,如表1 所示。

表1 不同窗口的特征总数量

根据计算的特征总数量分析得出,特征总数量随窗口大小呈几何倍数增长,相应地,检测精度会增加,计算机的运算量也会呈几何增加,通过多次实验测试和分析可知,在正样本数量为600 张、负样本数量为800 张、窗口大小为50×50 时,计算机训练时间为5 小时28 分,但精度较差,匹配率为70%左右;当窗口大小为80×80 时,计算机训练时间为9 小时46分,检测精度较高,匹配率在80%以上。为了保证运算速度和检测精度,文中选取了窗口大小为50×50的正样本数量600 个、窗口大小为80×80 的正样本数量400 个,对不同的禁停标识进行训练,在保证训练速度的同时保证了匹配精度。

2.3 训练结果

基于深度学习的算法需要大量的样本进行训练,文中以python 爬虫为工具,爬取不同场景、不同外观的图片作为训练集和测试集,并分为交通禁停标识和交通提醒标识两大类。训练集共有2 618 张正样本图片、4 631张负样本图片,测试集有1 624张图片;在训练之前需要进行图像的预处理,得到50×50和80×80 的交通标识集。最终训练生成的cascade.xml即为提取目标的特征文件。

2.4 OpenCV算法实现

实验采用PyCharm 作为开发平台,通过python语言进行程序的编写,导入OpenCV 的CV2 官方库,利用OpenCV 的HaarCascade 分类器,对实时获取的图像进行一帧一帧的处理,来进行算法实现。该算法主要解决了以下几方面的问题:

首先,为实现图像的识别与匹配,该系统使用CV2.CascadeClassifier(“casca.xml”)来读取训练后的特征文件,随后利用OpenCV 的classifier.detectMultiScale()将训练的特征与摄像头实时数据进行对比,从而得出该图像是否为正确的交通标识。

其次,图像匹配成功后,需通过树莓派的串口将数据发送至OneNET 云端,因python 具备丰富的API接口,所以只需在算法中导入封装了对串口进行访问的模块pyserial,并通过serial.Serial(‘/dev/ttyS0’,9 600)对其进行串口与波特率的设置,并在需输出数据时进行调用,即可成功完成数据的传输。

最后,在实际的算法实现中,因光照、烟雾以及行车过程中抖动等因素的影响,会极大地影响图像的稳定性以及识别的精准度。为此,该系统在进行图像处理前先进行了预处理,通过CV2.cvtColor()函数将BGR 三通道的彩色图转换为GRAY 的三通道灰度图;同时,为避免系统因剧烈抖动造成的系统整体不稳定,利用了cap.set(CV2.CAP_PROP_FPS,30)将系统的帧率稳定在30 帧,实测显示,系统的帧率能够较好地稳定在26 帧左右,能够较好地实现数据的高速处理。

同时,为在车载硬件上提醒车主,该系统采用封装的RPI.GPIO 模块,对树莓派的16 号端口进行控制,通过对该端口的电位置高与置低,来实现硬件上蜂鸣器的发声,以此达到对车主提醒的作用。

2.5 识别效果

该系统在树莓派4B 上的Linux系统中运行,通过Camera Module v2 摄像头采集图像,经过算法处理进行识别。图3 为系统运行整体界面。

图3 系统运行整体界面

图3 左侧为程序编写端,可根据实际情况对程序进行修改与参数的查看,右侧为实时画面。

图4、图5 为识别画面。通过对测试集的多次测试,在理想情况下,夜晚的平均识别率为66%,白天的平均识别率为80%,能够较好地完成对目标物的识别。

图4 识别画面1

图5 识别画面2

3 北斗模块

为达到更高的定位精度,该系统采用了ATK1218-BD 双模定位模块,可实现北斗和GPS双重定位,其定位精度为2.5 mCEP,捕获追踪灵敏度为-165 dBm,并且该模块体积小巧,满足系统轻便化的要求。

图6 北斗模块实物图

该模块在完成首次定位后,可实现快速连接与定位,该系统将采集到的经纬度信息通过串口发送至WiFi模块上,并及时上传至物联网平台。

4 OneNET物联网平台

该系统采用中国移动的OneNET 物联网开发平台,进行云端的开发和后天数据的可视化,通过ESP8266 WiFi 模块将识别的数据传送至云端,在云端对数据进行存储和后台的数据监测[10-13]。同时为微信小程序接收数据提供一个中继服务站,也为后续更多行车数据的上传提供数据接口[14]。

图7 为系统后台管理界面。图7 中的定位采用双重定位,左侧地图通过LBS 基站定位保存了汽车即将违停时的地点,右侧地图通过北斗系统进行定位,双重定位交叉拟合,获取相对精准的位置信息;WARN 为从树莓派接收到的识别信息;HEIGHT 为当前海拔高度;SPEED 是当前车速,北斗导航模块获取汽车当前的车速,来预测拟合车主是否有临时停靠的趋势,从而对车主进行及时提醒[15-17]。

图7 系统后台管理界面

5 微信小程序平台

该系统以微信小程序为终端,通过API 接口与OneNET 云端相连接,实时接收云端信息,在预测到车主将有违章停车的趋向时,通过调用手机端的语言进行播报,提醒司机,避免司机因粗心和路况不熟悉而造成的违章停车。

如图8 所示,当检测到司机有违章停车趋向后,在语言提醒的同时,对该点进行标注,以便后续司机进行查看[18-20]。

图8 微信小程序界面

6 结论

该文采用卷积神经网络进行训练,通过OpenCV的HaarCascade 分类器进行图像的快速处理,并将树莓派与物联网平台有机结合,通过微信小程序进行事后数据的读取,可以实现对禁停标识的快速识别及判断,并且具有识别精度高、实时性强、可移植性好的特点,对于“无意”交通违规现象可以起到较好的预警作用。当然,该系统整体上还有提升、优化的空间,识别算法也有继续研讨和改进的意义。

猜你喜欢
分类器北斗图像
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
北斗时钟盘
基于北斗三号的人防警报控制系统及应用
学贯中西(6):阐述ML分类器的工作流程
浅析p-V图像中的两个疑难问题
基于朴素Bayes组合的简易集成分类器①
巧用图像中的点、线、面解题
“北斗”离我们有多远
‘중국 별’을 더욱 빛나게 해야 한다
基于AdaBoost算法的在线连续极限学习机集成算法