基于遗传算法的道路交通事故车辆碰撞速度评估

2021-09-24 05:26黄美婷李广培
信阳农林学院学报 2021年3期
关键词:车速遗传算法阈值

黄美婷,李广培

(1.福建船政交通职业学院 汽车学院,福建 福州 350002,2. 福州大学 经济与管理学院,福建 福州 350002)

随着经济和科技发展,我国汽车增加同时,道路交通事故也在增加,在事故中车辆速度的评估,对于责任判定等具有非常重要的指导意义。目前评估方法按技术角度分为两种:一种是以视频监控中车辆行驶图像,来计算和评估车速,第二种则是以刹车印深浅长度计算和评估车速。

遗传算法是一种全局收敛搜索算法,基于生物进化和群体遗传[1]。随着国你内学者的研究深入,事故车速评估也有了较多的研究成果。彭大芹[2]等人提出一种使用距离加权来计算车辆速度的方法,在此基础上提出一种去干扰的车速评估系统,提高了准确度。但是该系统和方法缺乏智能算法和数据的支撑,在实际场景下往往不具备普遍推广性。吴京梅等人[3]提出观测事故前后机动车速度,再综合对其进行速度评价,在一定程度上可以解决问题。但是依赖人为主观的测量,往往不具备客观性和长期稳定性。

道路交通事故车辆碰撞速度评估是一个系统性的工程问题,需要采用图像视频录像监控、通信传顺、计算机视觉、深度学习、软件工程等学科技术。因此,本文提出了一种新的评估系统。其主要工作就是:梳理道路交通事故车辆碰撞速度评估的业务逻辑、设计对应的系统架构和底层逻辑、开发遗传算法和深度学习模型、开发系统软件、集成软硬件、综合稳定性测试和功能测试。基于遗传算法的车辆图像检测和速度评估,可以有效提高系统的效率和精度。并对遗传算法深入研究,提出了一种道路交通事故车辆碰撞速度评估解决方案,并开发出落地产品原型,测试了所提方案的稳定性与精度。

1 基于遗传算法的车辆碰撞速度评估

遗传算法是一种通过搜索最优解的方法[4-5]。遗传算法基本步骤为:

(1) 随机选择初始种群 P(t);

(2) 计算个体适应度函数值 F(t),如式1所示,表示阈值的适应度函数值,i代表某阈值,f为阈值i在图像中出现个数;

(1)

(3) 若种群中最优个体所对应的适应度函数足够大,则转到第 (4) 步;

(4) t=t+1;

(5) 应用选择算子法从 P(t-1) 中选择 P(t);

(6) 对 P(t) 进行交叉、变异操作,转到第 c 步;

本文把二进制串(b0,b1,…,bn)转化为对应的实数值:

(2)

所提系统架构主要是基于遗传算法来实现的,如图1所示,首先启动评估系统,系统分为软件和硬件,硬件部分主要为监控摄像头,对现场车辆进行实时视频采集,采集到的车辆视频图像传输到云服务器上,由云服务器完成图像分析和速度评估。软件部分主要为算法分析层和软件界面层。其中,算法由遗传算法和深度学习模型组成,遗传算法负责定位跟踪车辆,并测量速度;深度学习模型则进一步校准定位结果和评估结果。界面部分主要提供人机交互功能,实现以上提到的算法分析和评估功能,并且起到结果直观可见的效果。最后将算法处理结果和评估结果,通过通信组件,与软硬件系统集成,完成一次评估。

图1本文系统框架

如图2所示,图像都来自监控视频,同一辆车,在发生事故前1秒间的画面图像帧。本文方案后续对其进行实现,先检测定位、后评估速度,达到方案预设目标。

2 基于遗传算法和深度学习的车速评估

遗传算法运算过程为:个体编码、产生初始种群、个体评价、选择、交叉和变异[6-9]。本文设定一组初始个体,并评价个体适应度值,将车辆图像总熵作为适应度函数。图像总熵计算如式(3)所示:

H(t)=HA(t)+HB(t)

(3)

其中,H(t)表示总熵,该值最大时对应的t为最佳阈值,HA(t)为车辆区域熵,HB(t)为非车辆区域熵,如式(4)、(5)所示:

(4)

(5)

式中P代表灰度级在图像出现的比例,HA(t)为车辆区域熵,HB(t)为非车辆区域熵。

随后,依据自然选择,根据适应度大小从群体阈值选出优良阈值作为父代,适应度值越高,被选择的概率越大;通过选择、交叉和变异产生下一代,重复这一过程,直到图像总熵最大,获得最佳检测和评估阈值,得到最终最佳检测和评估效果[10]。基于前后两张图像中车辆位置检测,从而计算出车辆移动距离,并提取系统中两张图像采集时间差,由此可以计算出车速。

为了进一步,提升车速评估准确度,本文引入深度学习技术。先采集大量已知速度的车辆图像,将车辆图像和速度输入深度学习模型,进行学习,其中速度相当于是输入车辆图像的标签。经过学习训练后的模型,检测未知速度的车辆图像,从而推理出车速,达到进一步校准遗传算法车速评估的目的。本文的深度学习模型由分割与分类组成,分割基于PconvUnet实现,分类模型基于Resnet实现。PconvUnet,基于部分卷积的填充。首先,对其实施卷积操作:

F(x,y)=f(x,y)*K

(6)

(7)

其中,f代表卷积前图像;F代表卷积后图像;K代表卷积核函数[11]。对卷积结果完成最大池化处理:

(8)

其中,g代表最大池化后的图像局部结果;c、d、e、f代表局部区域像素。

在本文系统中,调用开源深度学习库pytorch的深度神经网络函数。所提算法是基于Python语言与调用pytorch来完成车速评估。

如图3所示,红色矩形框为检测标志,可见,检测结果精准可靠。实际车速为60 km/h,经过两帧图像中车辆位置定位检测,计算得到移动距离,再调出两帧图像的时差,计算评估出车速为58 km/h,与实际车速较为接近。评估结果的软件界面化展示,将在实验小节中的系统界面展示和讨论。

检测算法部分关键代码:

void RegionGrowing(cv::Mat srcImg, cv::Mat& dstImg, cv::Point pt, int thre);

string xml0= "D://test//model.xml";

string bin0= "D://test//model.bin";

string xml1= "D://detection//model.xml";

string bin1= "D:// detection //model.bin";

init model

OpenvinoDetection Detection= OpenvinoDetection(bin0, xml0, bin1, xml1);

cv::dnn::DNN_BACKEND_INFERENCE_ENGINE, cv::dnn::DNN_TARGET_CPU);

detectionIE Detection = detectionIE(bin0, xml0, 1);

int rate=5;

ClsLens clslens= ClsLens(bin1 ,xml1, 1, rate);

double prob;

prob = clslens.forward(_srcImge);

cv::cvtColor(_srcImge,srcImagergb,CV_BGR2RGB);

cv::cvtColor(_srcImge,srcImagehsv, cv::COLOR_BGR2HSV);

cv::cvtColor(_srcImge,srcImagegray2,CV_BGR2GRAY);

cv::Mat result1 = Detection.forward(_srcImge);

cv::Moments m = moments(result1);

if (m.m00 != 0){

int cx = (int)(m.m10 / m.m00);

int cy = (int)(m.m01 / m.m00);

cv::circle(frame,Point(cx,cy),15,Scalar(0,0,255),-1,8);

if(Detection.center.x>0&&Detection.center.y>0&&Detection.center_size>0){

posnum++;

crnterX+=Detection.center.x;

crnterY+=Detection.center.y;

xxx=Detection.center.x;

yyy=Detection.center.y;}

3 实验与讨论

本文系统基于QT平台开发实现,深度学习环境基于英伟达2080显卡部署完成。遗传综合参数为0.78,深度学习综合阈值为0.87。

如图4所示,本系统界面,功能有:“遗传算法”、“深度学习”、“速度评估”等。待评估的图像,如图5所示,来自实际场景,同时带有自然干扰。本文方案耦合遗传算法和深度视觉模型,从业务逻辑需求出发,开发实际落地系统,对车辆图像进行检测和评估,如图6所示,红色矩形为系统检测定位框,可见本文方法定位检测准确,同时评估出车速为52 km/h,与实际车速50 km/h很接近。

为进一步验证本研究识别的先进性和实用性,以文献[2]和文献[3]作为对照组技术,并对二者实现测试。文献[2]提出一种使用距离加权来计算车辆速度的方法,在此基础上提出一种去干扰的车速评估系统,提高了准确度[2]。但是该系统和方法缺乏智能算法和数据的支撑,在实际场景下往往不具备普遍推广性。如图6所示,虽然检测准确,但是车速评估结果为41 km/h,与实际车速50 km/h相差明显。文献[3]提出通过实地观测了事故前后机动车运行速度,记录行驶轨迹变化,再综合对其进行速度评价,在一定程度上可以解决问题[3]。但是依赖人为主观的测量,往往不具备客观性和长期稳定性。如图8所示,虽然检测错误,而且车速评估结果为60 km/h,与实际车速50 km/h相差明显。

综上所做实验,可见本文方案开发的系统在实际场景中,具有更高的精度和稳定性。

4 结论

为了解决当前道路交通事故车辆碰撞速度较难测量准确、并且保持稳定测量输出的问题,本文分别从遗传算法、深度学习模型、检测架构方案出发,根据道路交通事故车辆本身特点和落地要求,展开分析、设计方案、开发技术和集成系统,以及落地部署测试。为智能化的道路交通事故车辆碰撞速度评估设备系统落地,奠定了核心算法和方案基础。并测试了所提系统的评估性能,结果显示其具有较高的准确度。

猜你喜欢
车速遗传算法阈值
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
基于遗传算法的高精度事故重建与损伤分析
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
改进小波阈值对热泵电机振动信号的去噪研究
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
元征X-431实测:2012年奔驰R300刷隐藏功能修改最高车速限制
基于遗传算法的智能交通灯控制研究
基于多信号源融合的汽车车速信号处理及应用
2012款奔驰R300车修改最高车速限制