APP下载

基于深度学习的道路车辆目标检测系统设计

2023-03-04梅玲玲

计算机测量与控制 2023年2期
关键词:准确率车辆模块

梅玲玲

(重庆对外经贸学院 数学与计算机学院,重庆 401520)

0 引言

近几年来,计算机技术不断发展,为人民的生活、生产提供便利,现代人类也依托于现代科技从而获得更好的生活质量。人类从未停止过对汽车无人驾驶技术的研发,希望能够通过人工智能技术、雷达技术、监控系统及全球定位系统,利用电脑可实现汽车的自动驾驶,目前该类汽车虽未得到大幅推广,但普通汽车的智能化程度确有提高,部分汽车已经实现了自动泊车、自动变速等功能,为人们生活带来便利,但也带来了许多危险。如进一步提升汽车的智能化程度,让其能够自动感知道路路况即可获得更加安全的驾驶体验,基于此,基于视觉的道路车辆感知方法研究势在必行,且具有重要意义。对道路车辆的感知主要应用的是计算机视觉技术,其主要分为目标识别、图像问答、行为识别、图像分类及场景识别多个种类,而本次研究的就是关于道路车辆的目标识别技术。所谓目标识别就是应用摄像头等传感器充当人类的眼睛收集信息,再根据其特征的不同对事物进行分类处理,继而得到检测结果,为人们提供服务。随着科技的迅猛发展,关于道路车辆的目标检测已受到研究学者的关注,并已取得一定突破,如今如何让设备更加快速、准确地对采集信息中的物体进行分类成为该领域的研究热点[1-2]。

国内外均对该问题进行研究,并获得一定研究成果。在20世纪末期,哥伦比亚大学学者David Lowe提出利用尺度不变特征变换算法实现目标检测,即通过尺度空间极值检测、关键点的定位、方向的确定及关键点的描述完成物体特征的检测和匹配,该算法可在小型数据库中的达到实时监测,但其仍然存在一定局限性,即其对物体外观存在一定限制,无法对多款车型进行精准检测。我国学者也对于此问题进行研究,目前已经具有一定研究成果。如马永杰[3]等人针对实时监控遮挡严重问题提出了车辆精准识别方法,即利用K-means++聚类算法完成车辆目标候选框的聚类,对Anchor box数量进行合理选取,在网络中添加了特征提取层提升车辆目标提取的精准度,将改进YOLO v3模型和Deep-SORT算法相结合,提高监控上下帧关联信息的关注度,提升在实时监控遮挡状态下的检测效果。该方法在应用过程中具有一定应用价值,但其存在计算量较大,识别结果不精准的问题。杨宏伟[4]等人提出了基于机器视觉的道路车辆目标检测方法,以提升夜间目标车辆识别精准度。该方法先对车辆路面灰度等级变化过程进行分析,然后采用Robinson边缘检测算法获得图像梯度值,根据方向模板算子确定图像中心灰度值及中心点方向,然后利用机器视觉技术对目标数据进行跟踪,完成目标车辆识别及运动轨迹的判断。该方法在实现的过程中只能对前方车辆的运动轨迹进行检测,局限性较大[4]。

针对传统方法应用中的不足,本次研究引用深度学习理论,提出了一种新的道路车辆检测方法。深度学习是一种经典的特征学习算法,可模仿人脑的神经元进行计算,且每一个节点计算的结果都会被用于下一节点[5]。本文选用的深度学习算法中较为经典的YOLOv4算法可在保证检测精度的同时提升检测速度。希望通过本文系统的研究提高道路车辆的检测质量和检测效率。

1 道路车辆目标检测系统硬件设计

1.1 信号输入模块

信号输入模块是完成道路车辆目标图像采集的主要模块,主要用于输入目标信号,其模块的结构如图1所示。

图1 信号输入模块结构图

观察图1可知,信号输入模块由ADC变换器、输入缓冲器、匹配运算器、选择开关阵列和参数估计器构成。ADC变换器可完成图像信号格式的转变,输入信号的范围为±2 V[6]。缓冲器能在采集目标频率和存储模块频率之间起到缓冲作用,如果缓存的数据较少,并没有达到SDRAM两页数据的大小,则其还会持续产生缓存请求,数据输入后通过匹配运算器对目标进行运算,匹配运算器由6个绝对值减法器构成,电路为并行流水器结构,每个目标对应一个匹配运算器,实施并行运算,选择开关阵列能调整目标的权值,参数估计器根据目标的矢量估计全局参数[7-8]。

1.2 控制模块

控制模块能够完成对输入信号的预处理,通过控制目标的权值删除离群点并输出有效的全局参数,控制器采用Xilinx公司生产的XCV50E芯片,芯片电路如图2所示。

图2 芯片电路图

根据图2可知,XCV50E芯片内部有4个信号器,利用LPF实现信号处理。该芯片的核心电压为1.5V,同步时钟频率为130 MHz,XCV50E有强大的系统内编程能力,能够完成对整个系统的逻辑控制[9]。同时,此芯片能够实现双口操作,具有64 kB的同步块同存。除此以外,芯片中还有16个4 kB的块内存,块内存能用作FIFO或高速RAM(random access memory),芯片内部通过布线矩阵与其他模块相连,使各个模块构成一个统一的高速运作整体。双向长线遍布整个芯片,可快速分配信号[10]。

1.3 中央处理模块

中央处理模块的作用是对目标信号进行处理,并且其还需要形成显示窗口,已对其处理指令或处理结果进行显示。本文设计的中央处理模块是以TI公司生产的TMS320C6202芯片为核心构建而言,该芯片工作频率为240 MHz,由2个硬件乘法器和6个算术逻辑单元组成,可满足本文的应用要求。中央处理模块如图3所示。

图3 中央处理模块

观察图3可知,TMS320C6202是系统运算的核心,程序的结构为并行流水线结构。C6202传输信号时采用的是DMA处理器,多个缓冲串口能实现多种协议下的直接连接。其扩展总线能达到32位,能支持多种接口,如同步FIFO、异步PCI桥等。正常情况下,完成一帧图像目标处理的时间约为5 ms,且各帧之间的间隔为30 ms。DSP可对SDRAM中的被存储数据进行调用,并按照相关算法对数据进行处理,处理后的数据仍然存储于SDRAM中[11]。

1.4 输出通道模块

输出通道模块主要负责向主机传递数据处理结果。本文设计的输出通道模块主要采用了一种PCI总线专用接口芯片达到其传递数据的目的,其型号为PCI9054[12]。该芯片传输效率能达到128 MB/s,可选串行EEPROM接口。输出通道模块结构如图4所示。

图4 输出通道模块

由图4可知,该模块所采用的PCI9054芯片中32 bit的Mailnox寄存器共有8个。除此之外,还有2个32位的Doorbell寄存器。在数据传输过程中,主控设备可利用该芯片访问其周围的PCI总线,当其处于高电位时,数据就可开始传输,按照协议传输8 bit数据后,通过数据配置再次响应,以此往复,数据就完成了输出。

2 道路车辆目标检测系统软件设计

在上述硬件基础上,完成本文软件设计。其主要包括用户登录、数据采集处理、目标检测模型及模型训练等部分的设计,具体介绍如下。

2.1 用户登录模块设计

根据系统需求完成用户登录模块的设计,新用户在登录前必须先填写信息完成注册,然后系统判断其输入合法且填写完整后,将该用户信息核对并存储在数据库中。核对流程主要检测该信息是否在数据库中已存在,避免重复注册。若该信息已经存在,系统会提醒用户重新输入注册信息或者用以往账号登录;若不存在,用户信息会直接保存在数据库中。注册完毕后,新用户可用注册的信息正常完成登录。用户登录和用户注册的流程如图5所示。

图5 用户登录注册流程图

2.2 数据采集处理设计

在正常自然环境下对道路车辆的图像进行采集和处理时,往往会因为受到光线、障碍物等自然环境的影响出现图像质量差等问题,其获取的影像中还会存在一些干扰信号,妨碍了道路车辆目标检测的精准度。干扰信号往往来源于背景的非平稳移动,某些背景由于权值与前景权值接近而被误判为前景[13-14]。

基于上述背景,本文建立数据采集处理模块。在自然条件下完成图像采集后,先对图像进行预处理,以提升其图像的质量,便于后期识别工作。先采用直方图均衡算法对图像进行处理,增强图像的对比度。该方法主要适用于光线不佳情况的图像处理。待对图像进行预处理后,建立YOLOv4目标检测模型对其图像中的目标进行识别。为提高其模型的推理能力,采用Mobilenetv2中的深度可分离卷积与倒残差网络对其主干网络Cspdarknet53进行优化改进,把传统的卷积运算转化成可深度分解的卷积,并将主干网Cspdarknet53中的常规残差结构转变为倒残差结构。为提升该模型对图像中小目标的检测效果,将YOL0v2的 passthrough加入到YOL0v4模型之中,将Cspdarknet53引出的三个分支中的一部分转化为深度可分离卷积,并在YOLO头部增加了三个卷积层,这三个卷积层并不进行深度可分离卷积的改造,以此提升其模型的运算效率。

为进一步提升模型的运算速率,将注意力机制引入YOLOv4模型中,提升其图像特征提取效果。注意力机制就是将注意力集中在图像的某一点中去判断,这样可缩短判断时间,使整体的目标检测行为更为简单[16]。对于物体图像的特征提取而言,引入注意力机制可帮助算法有选择性地关注图像中极具特点的区域,这样便于更快地提取图像特征,完成目标检测。通常在图像处理的过程中会将图像分为前景信息和背景信息,并对其分别进行测算,以更好的判断目标[17]。本系统为特征较为突出的区域设更大的权重,对于背景区域给予小权重,完成注意力图的生成,针对前景图像进行分析识别,以缩短模型的运算时间。

引入注意力机制后,对图像信息进行编码是将其编为一个序列,而不是将其编为一个固有的长度,同时其相应解码也与之前不同,需要对向量序列中的子集进行逐一处理。先设置查询指令Q和一组键值对K,将其维度均设为dk,然后利用模型中的激活函数完成键权重系数的确定,最后对其键值加权求和[18],获取图像注意力值计算公式如下所示:

(1)

fR(n) = ∑mϖmn· (Wv·fAm)

(2)

式中,Wv表示线性变换矩阵,ϖmn表示第N个物体与其余的关系权重,其计算方式如下所示:

(3)

(4)

其中:WK、WQ均为评价指标矩阵,fAm、fAn代表两物体的外观特征;dk代表维度界面。将物体外观特征投入到高维界面中,利用内积完成特征相似度的比较,然后联系多个关系特征,增强输入对象的外观特征,便于在基础特征提取网络中完成图像特征提取。

在目标检测网络中采用改进的特征金字塔网络(FPN)进行图采样及融合。在对两个特征图进行融合时,为保证其原始特征点信息不丢失,直接将其通道进行拼接,并在3个尺度分别进行预测。其改进后的架构如图6所示。

图6 改进YOLOv4算法架构图

利用上述改进YOLOv4算法对干扰信息进行处理,其处理流程如图7所示。

图7 目标检测流程

首先,利用滤波器对噪声进行过滤,合适的滤波器模板能防止目标漏检;然后,通过设置面积阈值,将极小的目标去掉,这样可去除大量的噪声目标;其次,如果有物体长期处于同一位置,则可判定其并非检测的目标,自动将其扣除;最后,对目标进行颜色处理,利用波长的连续波动判断是否为背景干扰,若是,则修正为背景,经过对干扰信息的处理,目标检测的准确性得到了进一步的提高[19-20]。

2.3 模型训练设计

将本文模型设计完毕后,对其进行训练,使其可达到一定精度。将模型和初始权重准备好后,加载训练样本,通过前向传播计算输出与真实值之间存在的误差,然后通过反向传播给网络以反馈,便于其调整权重参数,进入下一代迭代循环,直至达到停止条件后停止迭代训练,其整体流程如图8所示。

图8 模型训练流程图

在训练过程中,学习率可决定模型在每一次迭代过程中的更新幅度。在训练的过程中,如果无法选择合适的学习率,将会导致训练时间过长;选择一个合适的学习率,则可使得模型快速收敛。故本文模型在训练过程中,通过调整学习率来达到加速收敛的目的,如初期将其设置为0.000 1,系统迭代100次后将其调整为0.001,之后每迭代1 000次,学习率就增长10倍,待模型迭代至30 000次后将学习率重新调整为初始数值,直至模型停止训练。模型训练过程中的参数更新是采用梯度下降法来完成的,将动量参数设为0.9,利用动量参数进行迭代更新以消除由于梯度下降导致的振荡问题。为让模型更具鲁棒性,本文还采用了多尺度训练的方式,即每训练一定样本,就对模型输入尺寸进行重新调整,以此来提升训练的准确率。

2.4 车辆目标检测

本模块主要利用搭建的网络模型针对待检测图像进行检测以实现车辆目标识别的。从数据库中完成待检测图像的抽取,然后对其进行检测,利用引入注意力机制的YOLOv4模型完成其图像特征的提取之后,再对其干扰信息进行处理,就此得到最终的检测结果。对于检测结果的判别,本文采用交并比的方法验证其检测结果的正确性。交并比是现代目标检测中一种较为经典的评价方法,其主要计算模型产生目标窗口与原来标记窗口的交叠率,以此来验证其检测的准确率,其计算公式如下所示:

(5)

式中,SA代表目标车辆检测矩形框的面积;SB代表图像中目标车辆的真实矩阵框的面积;SI代表检测矩形框与真实矩阵框的交集面积。本次研究设定当交并比大于0.9时,即检测矩形框与真实矩形框重合度大于90%才可判断其检测正确;否则视为检测错误。以此为基础完成车辆目标的检测。

2.5 数据库设计

本文系统中数据库的设计应充分满足车辆目标检测、统计信息保存等业务的需求,准确表达数据之间的联系。本文通过分析研究,利用E-R图来表达实体之间的关系,其关系如图9所示。

图9 实体间关系的E-R图

如图9所示,本文建立了三个实体,即为用户、道路监控文件及统计信息,由此根据其系统功能需求设计了三个表格,其分别如表1~3所示。

表1 用户信息表

表2 道路监控文件信息表

表3 统计信息表

表1~3中,利用用户信息表完成系统用户信息的保存,利用道路监控文件信息表完成监控文件的保存,利用统计信息表完成存储结果的保存,由此完成数据库的设计。

2.6 后台管理设计

系统管理人员可利用后台管理模块对相应信息进行处理,给系统的数据更新提供相关帮助。该模块大致分为两个部分,分别是用户管理和文件管理。利用后台的管理界面中,后台的管理员可通过操作完成用户相关信息的修改和保存,除此之外,还会为不同级别的用户赋予权限。监控文件管理主要是指管理员利用修改及添加等功能对存储的监控文件进行修改。管理员可通过相关步骤完成目标图像的上传,本文上传的便是道路的监控图像,并且按照系统的提示信息可完成其上传文件的保存。利用Add File Controller ,可将上传的数据保存到本文设计的数据库之中,后给予管理员保存成功的反馈结果。管理人员还可对监控文件进行删除,先获取文件的id,然后调用delete File 将文件从数据库中删除。通过后台管理过程,帮助系统完成相应维护工作。

3 实验结果与分析

3.1 系统功能测试

将系统设计完毕后对其进行功能、性能检测,判断其是否具有一定应用性。借助一台PC机和云服务器完成实验环境的搭建,其应用部署在Surface电脑中,利用其模拟正常使用场景,对系统进行测试,其测试环境参数如表4所示。

表4 测试环境参数表

选取500张不同场景的道路图像作为样本集开展测试,其中100张为训练集,剩余400张为测试集,在测试集中包含100张不同场景下车辆运行的图片,其样本如图10所示。

图10 不同场景下车辆图像样本图示

在对本文系统的测试中需要实现的测试目标如下所示:

1)检查客户端运转是否正常,可否能完成图像选取和上传操作;

2)检查服务端运转是否正常,判断其是否能准确接收到客户端传递的信息,并顺利实现解译;

3)本文所创建的模型是否可对其传输的信息进行正确处理,并且显示检测结果;

4)本文设计的数据库操作是否正常,是否能方便系统调动,实现数据查询;

5)检查用户是否能安全用户注册流程完成用户注册及登录;

6)检查检测结果的可视化显示,判断用户是否能正常查看检测结果并完成保存。

通过对本文系统进行功能性测试,判断其是否具有性能缺陷。由于本文前端是采用可视化的形式,其YOLO 目标检测登录界面如图11所示。

图11 用户登录及注册界面

利用本文方法检测道路车辆,先采用直方图均衡法对图像进行预处理,其对比实物如图12所示。

图12 直方图均衡处理前后对比

如图12所示,经过均衡化后,图像的清晰度得到较大提升,利于后期目标检测。采用改进后的YOLOv4模型对图片中的道路车辆进行检测,如图13所示。

图13 目标检测图像

经测试表明,本文系统的功能健全,上述功能性目标均可实现,可对系统性能进行下一步检测。

3.2 系统性能测试

完成对系统的功能测试后,对系统的性能进行测试。对实验进行真实情况的模拟,测试其客户端显示的检测时间和服务端检测所用时间。采用Postman进行接口测试以获取对测试系统调用图片所用时间。利用该软件能够实现对其接口相关信息的统计,如每个信息的调用时间、调动返回值及报文大小等。基于此,利用Postman软件和服务端的统计工具,对系统的每一次请求耗时进行记录,得到测试结果如图14所示。

图14 系统性能测试结果

如图14所示,本次共进行了25次测试,服务器响应时间一直较为稳定,在指令发出1 s左右进行图像数据的调取。其实本文系统模型在测试之前就已经完成文件信息的读取及训练,本次测试所耗费的时间均为用于网络传输的时间,所以其整体耗时较短。由于各个图像的大小存在不同,所以其传播耗时也并不相同,其网络传输的时间存在差异。客户端的响应时间除第一次测试时响应时间较长为6 s 外,其余响应时间稳定在3 s左右,测试效果较为稳定。造成客户端第一次响应耗时较长的原因是在于客户端第一次检测时与服务端处于冷链状态,需要进行连接的建立,这需要消耗大量的时间,在通信链路建立完毕后,其响应时间明显缩短。以上完成对系统性能的测试,该系统服务器响应时间和客户端的响应时间均较短且稳定,可对其进行对比实验,测试其与同类系统产品相比具有的优势。

3.3 对比测试

为了验证本文设计检测系统的有效性,选取文献[3]中的基于改进YOLO v3模型与Deep-SORT算法的道路车辆检测方法和文献[4]中的基于机器视觉的夜间道路前方车辆目标检测方法为对比方法,与本文系统进行实验对比,对汽车晚间行驶、汽车白天行驶及汽车在恶劣天气下行驶的图像进行检测,计算检测准确率,计算公式为:

(6)

其中:Y为检测到的数量;Z为实际运行目标数量;M为检测准确率。利用Matlab仿真平台搭建对比系统,开展实验,获取汽车夜间行驶检测结果如表5所示。

表5 汽车夜间行驶检测准确率实验结果

根据表5可知,本文系统在汽车夜间情况下行驶的检测准确率率均高于94%,而其余两种系统的检测准确率均为71%~87%之间,由此得知,本文系统优于对比系统。这主要是由于本文设计的系统利用深度学习算法中的YOLOv4模型进行检测,且利用注意力机制对其特征提取进行优化,从而保证能够更准确地实现车辆目标检测。

对汽车白天行驶的图像进行检测,获取三种系统检测结果如表6所示。

根据表6可知,在该种环境中。本文提出的检测系统在相同的状况下检测准确率均在94%以上,而文献[3]系统检测准确率最高仅为86%,文献[4]系统的检测准确率低于79%,故本文系统检测效果远优于两种对比系统。本文研究的检测系统引入了直方图均衡法及改进YOLOv4算法对图像信息进行预处理,帮助图像检测排除了环境因素的大量干扰信息,保证其检测模型可平稳运行,使其在时间积累到一定程度下,能够实现信号转换,使得本文系统可准确地确定目标位置。

表6 汽车白天行驶检测准确率

获取汽车在恶劣天气下行驶的检测准确率实验结果如表7所示 。

表7 汽车在恶劣天气下行驶检测准确率

由表7可知,对恶劣天气条件下图像进行检测,本文检测准确率高于90%,而其余两种系统的检测准确率低于79%,故本文系统检测准确率远高于其余两种系统,所以本文系统检测性能优于对比系统。造成这种现象的原因在于本文系统不仅引入了深度学习的YOLOv4算法和直方图均衡法对干扰信息进行处理,引入了注意力机制,优化了图像特征提取过程,还采用了多尺度训练的方式,使其能够保证检测模型运行的稳定性,快速完成车辆特征的提取,提高目标检测的准确率。

4 结束语

针对道路车辆目标检测容易出现误检、漏检的问题,提出基于深度学习的道路车辆目标检测系统,先利用改进YOLOv4算法完成干扰信息的处理,建立目标检测模型,然后基于注意力机制完成图像特征提取过程的优化,使其能够更加准确、快速地完成车辆图像特征的提取。最后利用实验证明所提系统的实用性,所提系统错检、漏检率低,具有一定应用价值。

猜你喜欢

准确率车辆模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
车辆
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统
集成水空中冷器的进气模块