一种视频流中的车辆检测方法技术

技术编号:21247796 阅读:27 留言:0更新日期:2019-06-01 07:52
本发明专利技术公开了一种视频流中的车辆检测方法,包括以下步骤:获取视频帧,采用训练完成的卷积神经网络对获得的视频帧进行识别,并根据结果判断视频中是否有车辆,以及车辆所在的具体位置;由车辆检测得到车辆在图像中的位置,用卡尔曼滤波器预测其在下一帧的数值,作为车辆跟踪结果;将车辆检测的结果和车辆跟踪的结果进行关联,依据关联结果修正滤波器参数,更新滤波器群信息。本发明专利技术设计一种网络层数少、结构小的卷积神经网络用于车辆检测任务,检测速度快、精度高。本发明专利技术使用卡尔曼跟踪算法进行检测框的位置预测,跟踪速度快且稳定。本发明专利技术利用数据关联策略将检测算法与跟踪算法结合,体现帧与帧之间车辆的关联性,并且能降低车辆对象的漏检率。

A Vehicle Detection Method in Video Stream

The invention discloses a vehicle detection method in video stream, which includes the following steps: acquiring video frames, recognizing the obtained video frames using the convolution neural network completed by training, and judging whether there is a vehicle in the video and the specific location of the vehicle according to the results; getting the position of the vehicle in the image by vehicle detection, and predicting its next position with Kalman filter. The number of frames is used as the result of vehicle tracking. The results of vehicle detection are correlated with the results of vehicle tracking. The filter parameters are modified according to the correlation results, and the filter group information is updated. The invention designs a convolutional neural network with few network layers and small structure for vehicle detection task, which has fast detection speed and high accuracy. The Kalman tracking algorithm is used to predict the position of the detection frame, and the tracking speed is fast and stable. The method combines the detection algorithm with the tracking algorithm by using the data association strategy, embodies the correlation between frames and vehicles, and reduces the missed detection rate of vehicle objects.

【技术实现步骤摘要】
一种视频流中的车辆检测方法
本专利技术涉及一种基于计算机视觉的车辆检测算法,特别是一种视频流中的车辆检测方法。
技术介绍
车辆检测(objectiondetection)是指利用计算机视觉算法找出图像中所有感兴趣的车辆,确定它们的位置及类别。广泛应用于视频监控、无人驾驶、人机交互等领域。目前已知的视频流中的车辆检测方法主要分为两类,一类是将视频流拆分成每一帧图像,再对每一帧图像检测其中的车辆。这样做的弊端在于计算量大、效率低,且没有体现出帧与帧之间车辆的关联性,导致产品智能化水平较低。另一类是在第一帧中检测出车辆,之后的若干帧利用车辆跟踪算法进行跟踪。这样做的弊端在于无法检测出新出现的车辆,而且若车辆所处环境光照变化大,如进出隧道时,很容易发生跟踪丢失的现象。
技术实现思路
为解决现有技术存在的上述问题,本专利技术要提供一种既能够减少计算量并提高检测效率,又能体现视频流中车辆的关联性进而提高产品智能化水平的视频流中的车辆检测方法。为了实现上述目的,本专利技术的技术方案如下:一种视频流中的车辆检测方法,包括以下步骤:A、车辆检测获取视频帧,采用训练完成的卷积神经网络对获得的视频帧进行识别,并根据结果判断视频中是否有车辆,以及车辆所在的具体位置。具体包括以下步骤:A1、获取待检测车辆样本数据集;收集包含车辆的若干张图像,图像包含各种场景下,待检测车辆的可能的状态。对于长宽不等的图像,先将图像用0像素填充到长宽相等,再放缩到416×416像素大小。在labelImage软件中用矩形框标注每张图像中的车辆信息,保存标注信息文档。A2、搭建卷积神经网络用作特征提取;采用的特征提取网络结构依次为:卷积层1、最大池化层1、卷积层2、最大池化层2、卷积层3、最大池化层3、卷积层4、最大池化层4、卷积层5、最大池化层5、卷积层6、最大池化层6、卷积层7、卷积层8、卷积层9、卷积层10。A3、按照步骤A2所描述的网络结构,特征提取网络最终输出向量为13×13×255,因此连接一个yolo层,使其输出向量为13×13×5×(1+5),最终完整的网络结构及每层的参数如下:输入图片大小为416*416*3,3代表图片为彩色图片有三个通道,经过卷积层1,使用16个大小为3*3的卷积核,步长为1,经过这一层数据的输出大小变为416*416*16;通过核大小为2*2,步长为2的最大池化层1,得到208*208*26的数据;卷积层2中有32个大小为3*3的卷积核,卷积步长为1,得到数据大小为208*208*32;再通过核大小为2*2,步长为2的最大池化层2,得到104*104*32的数据;卷积层3中有64个大小为3*3的卷积核,卷积步长为1,得到数据大小为104*104*64;再通过核大小为2*2,步长为2的最大池化层3,得到52*52*64的数据;卷积层4中有128个大小为3*3的卷积核,卷积步长为1,得到数据大小为52*52*128;再通过核大小为2*2,步长为2的最大池化层4,得到26*26*128的数据;卷积层5中有256个大小为3*3的卷积核,卷积步长为1,得到数据大小为26*26*256;再通过核大小为2*2,步长为2的最大池化层5,得到13*13*256的数据;卷积层6中有512个大小为3*3的卷积核,卷积步长为1,得到数据大小为13*13*512;再通过核大小为2*2,步长为1的最大池化层6,得到13*13*512的数据;再通过1024个核大小为3*3,步长为1的卷积层7,得到数据大小为13*13*1024;再通过256个核大小为1*1,步长为1的卷积层8,得到数据大小为13*13*256;再通过512个核大小为3*3,步长为1的卷积层9,得到数据大小为13*13*512;最后通过255个核大小为1*1,步长为1的卷积层10,得到数据大小为13*13*255的特征数据;在后面连接一个yolo层即构成目标检测神经网络,其中yolo层的参数为:Class=1;anchors=10,14;23,27;37,58;81,82;135,169;344,319;ignore_thresh=0.7。A4、将步骤A1中获取的样本数据分成训练集和测试集,训练集和测试集数据的比例是7:3。用训练集来训练之前搭建的卷积神经网络,测试集实时评估训练结果。A5、关注训练误差,当训练误差下降到2以下,且长时间保持这个水平时停止训练,并保存此时的网络参数权重。A6、视频流图像帧中的车辆检测。对于获得的视频帧,先用0像素填充到长宽相等,再放缩到416×416像素大小。用步骤A2搭建好的神经网络并加载训练好的权重进行车辆检测,得到车辆的类别及位置信息,再缩放成原来图像大小,得到对应的车辆信息参数。B、车辆跟踪由车辆检测得到车辆在图像中的位置,用cx、cy、w和h这四个参数来表示,这四个参数分别代表检测矩形框的中心点x坐标值、中心点y坐标值、矩形框的宽和矩形框的高。对于每个矩形框的四个参数,用卡尔曼滤波器预测其在下一帧的数值,作为车辆跟踪结果。将卡尔曼滤波器的状态方程设计为:X=[cx,cy,w,h,cx',cy',w',h',cx”,w”,h”]其中,cx'、cy'、w'、h'、cx”、w”、h”分别代表cx的变化速度、cy的变化速度、w的变化速度、h的变化速度、cx的变化加速度、w的变化加速度、h的变化加速度,将这些参数都初始化为0,用该车辆对应的匹配数据更新这些参数,最终的跟踪结果为:C、数据关联将车辆检测的结果和车辆跟踪的结果进行关联,依据关联结果修正滤波器参数,更新滤波器群信息;具体包括以下步骤:C1、车辆检测结果和车辆跟踪结果的处理。将这两部分的车辆框结果数据格式转换成xmin、ymin、xmax和ymax,这四个参数分别代表车辆框的左上角x坐标值、y坐标值和车辆框右下角x坐标值、y坐标值。C2、计算每个检测结果与每个跟踪结果的IOU值。计算公式为:得到IOU匹配表。其中O1、O2、……、On表示检测结果,n代表检测结果的总数;P1、P2、……、Pm表示预测结果,m代表预测结果的总数。C3、用匈牙利算法根据IOU匹配表算出最关联匹配对。C4、将IOU值小于IOU阈值的数据对去除,得到三部分数据:匹配成功的数据对、未匹配成功的检测结果、未匹配成功的跟踪结果。C5、对于匹配成功的数据对,用检测的结果数据校正这些滤波器的参数,并继续用这些滤波器进行下一阶段的跟踪;对于未匹配成功的检测结果,将这些数据判定为出现了新车辆,并为其分配滤波器进行跟踪;对于未匹配成功的跟踪结果,将这部分数据均考虑为检测算法失效发生漏检,保留滤波器继续跟踪。与现有技术相比,本专利技术具有以下有益效果:1、卷积神经网络是目前图像识别领域精度最高的检测方法,本专利技术设计一种网络层数少、结构小的卷积神经网络用于车辆检测任务,结构小的网络计算参数少,因此能达到检测速度快,精度高的效果。2、本专利技术使用卡尔曼跟踪算法进行检测框的位置预测,跟踪速度快且稳定。3、本专利技术利用数据关联策略将检测算法与跟踪算法结合,体现帧与帧之间车辆的关联性,并且能降低车辆对象的漏检率。附图说明图1是本专利技术的流程图。图2是筛选成功匹配数据对的算法流程图。图3是数据关联所需要的检测结果数据与跟踪结果数据的示意图(实线框为检本文档来自技高网...

【技术保护点】
1.一种视频流中的车辆检测方法,其特征在于:包括以下步骤:A、车辆检测获取视频帧,采用训练完成的卷积神经网络对获得的视频帧进行识别,并根据结果判断视频中是否有车辆,以及车辆所在的具体位置;具体包括以下步骤:A1、获取待检测车辆样本数据集;收集包含车辆的若干张图像,图像包含各种场景下,待检测车辆的可能的状态;对于长宽不等的图像,先将图像用0像素填充到长宽相等,再放缩到416×416像素大小;在labelImage软件中用矩形框标注每张图像中的车辆信息,保存标注信息文档;A2、搭建卷积神经网络用作特征提取;采用的特征提取网络结构依次为:卷积层1、最大池化层1、卷积层2、最大池化层2、卷积层3、最大池化层3、卷积层4、最大池化层4、卷积层5、最大池化层5、卷积层6、最大池化层6、卷积层7、卷积层8、卷积层9、卷积层10;A3、按照步骤A2所描述的网络结构,特征提取网络最终输出向量为13×13×255,因此连接一个yolo层,使其输出向量为13×13×5×(1+5),最终完整的网络结构及每层的参数如下:输入图片大小为416*416*3,3代表图片为彩色图片有三个通道,经过卷积层1,使用16个大小为3*3的卷积核,步长为1,经过这一层数据的输出大小变为416*416*16;通过核大小为2*2,步长为2的最大池化层1,得到208*208*26的数据;卷积层2中有32个大小为3*3的卷积核,卷积步长为1,得到数据大小为208*208*32;再通过核大小为2*2,步长为2的最大池化层2,得到104*104*32的数据;卷积层3中有64个大小为3*3的卷积核,卷积步长为1,得到数据大小为104*104*64;再通过核大小为2*2,步长为2的最大池化层3,得到52*52*64的数据;卷积层4中有128个大小为3*3的卷积核,卷积步长为1,得到数据大小为52*52*128;再通过核大小为2*2,步长为2的最大池化层4,得到26*26*128的数据;卷积层5中有256个大小为3*3的卷积核,卷积步长为1,得到数据大小为26*26*256;再通过核大小为2*2,步长为2的最大池化层5,得到13*13*256的数据;卷积层6中有512个大小为3*3的卷积核,卷积步长为1,得到数据大小为13*13*512;再通过核大小为2*2,步长为1的最大池化层6,得到13*13*512的数据;再通过1024个核大小为3*3,步长为1的卷积层7,得到数据大小为13*13*1024;再通过256个核大小为1*1,步长为1的卷积层8,得到数据大小为13*13*256;再通过512个核大小为3*3,步长为1的卷积层9,得到数据大小为13*13*512;最后通过255个核大小为1*1,步长为1的卷积层10,得到数据大小为13*13*255的特征数据;在后面连接一个yolo层即构成目标检测神经网络,其中yolo层的参数为:Class=1;anchors=10,14;23,27;37,58;81,82;135,169;344,319;ignore_thresh=0.7;A4、将步骤A1中获取的样本数据分成训练集和测试集,训练集和测试集数据的比例是7:3;用训练集来训练之前搭建的卷积神经网络,测试集实时评估训练结果;A5、关注训练误差,当训练误差下降到2以下,且长时间保持这个水平时停止训练,并保存此时的网络参数权重;A6、视频流图像帧中的车辆检测;对于获得的视频帧,先用0像素填充到长宽相等,再放缩到416×416像素大小;用步骤A2搭建好的神经网络并加载训练好的权重进行车辆检测,得到车辆的类别及位置信息,再缩放成原来图像大小,得到对应的车辆信息参数;B、车辆跟踪由车辆检测得到车辆在图像中的位置,用cx、cy、w和h这四个参数来表示,这四个参数分别代表检测矩形框的中心点x坐标值、中心点y坐标值、矩形框的宽和矩形框的高;对于每个矩形框的四个参数,用卡尔曼滤波器预测其在下一帧的数值,作为车辆跟踪结果;将卡尔曼滤波器的状态方程设计为:X=[cx,cy,w,h,cx',cy',w',h',cx”,w”,h”]其中,cx'、cy'、w'、h'、cx”、w”、h”分别代表cx的变化速度、cy的变化速度、w的变化速度、h的变化速度、cx的变化加速度、w的变化加速度、h的变化加速度,将这些参数都初始化为0,用该车辆对应的匹配数据更新这些参数,最终的跟踪结果为:...

【技术特征摘要】
1.一种视频流中的车辆检测方法,其特征在于:包括以下步骤:A、车辆检测获取视频帧,采用训练完成的卷积神经网络对获得的视频帧进行识别,并根据结果判断视频中是否有车辆,以及车辆所在的具体位置;具体包括以下步骤:A1、获取待检测车辆样本数据集;收集包含车辆的若干张图像,图像包含各种场景下,待检测车辆的可能的状态;对于长宽不等的图像,先将图像用0像素填充到长宽相等,再放缩到416×416像素大小;在labelImage软件中用矩形框标注每张图像中的车辆信息,保存标注信息文档;A2、搭建卷积神经网络用作特征提取;采用的特征提取网络结构依次为:卷积层1、最大池化层1、卷积层2、最大池化层2、卷积层3、最大池化层3、卷积层4、最大池化层4、卷积层5、最大池化层5、卷积层6、最大池化层6、卷积层7、卷积层8、卷积层9、卷积层10;A3、按照步骤A2所描述的网络结构,特征提取网络最终输出向量为13×13×255,因此连接一个yolo层,使其输出向量为13×13×5×(1+5),最终完整的网络结构及每层的参数如下:输入图片大小为416*416*3,3代表图片为彩色图片有三个通道,经过卷积层1,使用16个大小为3*3的卷积核,步长为1,经过这一层数据的输出大小变为416*416*16;通过核大小为2*2,步长为2的最大池化层1,得到208*208*26的数据;卷积层2中有32个大小为3*3的卷积核,卷积步长为1,得到数据大小为208*208*32;再通过核大小为2*2,步长为2的最大池化层2,得到104*104*32的数据;卷积层3中有64个大小为3*3的卷积核,卷积步长为1,得到数据大小为104*104*64;再通过核大小为2*2,步长为2的最大池化层3,得到52*52*64的数据;卷积层4中有128个大小为3*3的卷积核,卷积步长为1,得到数据大小为52*52*128;再通过核大小为2*2,步长为2的最大池化层4,得到26*26*128的数据;卷积层5中有256个大小为3*3的卷积核,卷积步长为1,得到数据大小为26*26*256;再通过核大小为2*2,步长为2的最大池化层5,得到13*13*256的数据;卷积层6中有512个大小为3*3的卷积核,卷积步长为1,得到数据大小为13*13*512;再通过核大小为2*2,步长为1的最大池化层6,得到13*13*512的数据;再通过1024个核大小为3*3,步长为1的卷积层7,得到数据大小为13*13*1024;再通过256个核大小为1*1,步长为1的卷积层8,得到数据大小为13*13*256;再通过512个核大小为3*3,步长为1的卷积层9,得到数据大小为13*13*512;最后通过255个核大小为1*1,步长为1的卷积层10,得到数据大小...

【专利技术属性】
技术研发人员:郭烈何丹妮郑仁成姚宝珍李琳辉孙大川
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1