基于深度学习YOLOv3算法的前车车门打开检测方法及装置与流程

文档序号:16579730发布日期:2019-01-14 17:51阅读:908来源:国知局
基于深度学习YOLOv3算法的前车车门打开检测方法及装置与流程

本发明涉及车辆技术领域,具体涉及一种基于深度学习yolov3算法的前车车门打开检测方法及装置。



背景技术:

随着机动车的密度越来越高,交通事故的发生频率也随之提高。由于机动车的驾驶员在路上驾驶时,其注意力大多集中于行驶中的车辆,而容易会忽略停在路边的车辆,因此当机动车驾驶人在行驶中疏于留意停在路边的车辆是否正要开启车门或者于路边停车的驾驶人或乘客在开门时未先留意后方来车,容易造成交通事故。

但是,在对现有技术的研究与实践过程中,本发明的发明人发现,现有的车门打开检测方法大多是从停车的驾驶员本身出发,利用摄像头在司机准备打开车门的瞬间捕捉汽车周围的环境特别是后方的数据来得出打开车门有没有危险,缺乏一种可以预测同车道或者是近车道前方车辆准备打开车门的危险的方案。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供基于深度学习yolov3算法的前车车门打开检测方法及装置,能够实时地高精度预测同车道或者是近车道前车车辆准备打开车门的危险并发出预警,在误检测方面错误率能降低一半多,并且可以直接学习图像的全局信息和end-to-end训练。

为解决上述问题,本发明的一个实施例提供一种基于深度学习yolov3算法的前车车门打开检测方法,适于在计算机设备中执行,至少包括如下步骤:

将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型;

对所述视频流进行图像识别,捕捉前方车辆的图像信息;

根据所述图像信息,判断所述前方车辆的车门是否关闭;

若否,则触发预警。

进一步地,所述摄像设备包括智能手机、行车记录仪和车载摄像头;所述前方车辆为同车道或近车道的前方车辆;所述图像信息包括车型、边框位置和类别概率。

进一步地,所述根据所述图像信息,判断所述前方车辆的车门是否关闭,具体为:

根据所述图像信息中的车型、边框位置和类别概率,判断所述前方车辆的车门是否完全关闭,若否,则输出所述前方车辆的车门打开的图像。

进一步地,所述检测模型的构建步骤为:

从bdd-100k(开放驾驶视频数据集)数据库中获取同车道或近车道的前方车辆的车门打开的图像;

根据深度学习yolov3(目标检测算法)算法,对所述图像进行预处理;

对预处理后的图像进行检测模型训练;

将训练得到的检测模型进行同车道或近车道的前方车辆的车门打开的测试集和验证集的测试和验证;

将反馈得到的车型、边框位置和类别概率的实际情况进行若干次训练参数调整,得到匹配效果最高的检测模型。

进一步地,所述从bdd-100k数据库中获取同车道或近车道的前方车辆的车门打开的图像,具体为:

基于bdd-100k数据库上随机挑选具有明暗变化、尺寸变化、场景变化及样式变化的同车道或近车道若干前方车辆的车门打开的图像,并将挑选得到的所有图像的70%划分为训练集、20%划分为测试集和剩下的10%划分为验证集。

进一步地,所述根据深度学习yolov3算法,对所述图像进行预处理,具体为:

根据深度学习yolov3算法,收集所述图像中车门打开的坐标信息和车门打开关键点的坐标信息。

进一步地,所述对预处理后的图像进行检测模型训练,具体为:

根据预处理后的图像,重构同车道或近车道的前方车辆车门打开的检测数据库,并构建imagenet(一种用于视觉对象识别软件研究的大型可视化数据库)及yolov3检测框架的联合数据库以对训练集进行分类学习,进而创建检测模型,并通过logistic回归损失函数对所述检测模型进行优化;其中,

所述imagenet创建所述检测模型中的同车道或近车道的前方车辆的车门打开模型,所述yolov3检测框架创建所述检测模型中的同车道或近车道的前方车辆的车门对齐模型。

进一步地,所述将训练得到的检测模型进行同车道或近车道的前方车辆的车门打开的测试集和验证集的测试和验证,具体为:

使用map对同车道或近车道的前方车辆车门打开的坐标信息的准确率进行衡量,以验证所述车门打开模型的检测准确率;

使用欧拉损失对同车道或近车道的前方车辆车门打开关键点的坐标信息进行准确率进行衡量,以验证所述车门对齐模型的对齐准确率。

本发明的一个实施例还提供了一种基于深度学习yolov3算法的前车车门打开检测装置,包括:

输入模块,用于将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型。

图像识别模块,用于对所述视频流进行图像识别,捕捉前方车辆的图像信息。

判断模块,用于根据所述图像信息,判断所述前方车辆的车门是否关闭,若否,则触发预警。

本发明的一个实施例还提供了一种基于深度学习yolov3算法的前车车门打开检测方法装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于深度学习yolov3算法的前车车门打开检测方法。

本发明的一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的基于深度学习yolov3算法的前车车门打开检测方法。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的基于深度学习yolov3算法的前车车门打开检测方法、装置及计算机可读存储介质,所述方法包括:将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型;对所述视频流进行图像识别,捕捉前方车辆的图像信息;根据所述图像信息,判断所述前方车辆的车门是否关闭;若否,则触发预警。本发明的实施例能够实时地高精度预测同车道或者是近车道前车车辆准备打开车门的危险并发出预警,在误检测方面错误率能降低一半多,并且可以直接学习图像的全局信息和end-to-end(端对端)训练。

附图说明

图1为本发明第一实施例提供的一种基于深度学习yolov3算法的前车车门打开检测方法的流程示意图;

图2为本发明第一实施例提供中检测模型的构建步骤的流程示意图;

图3为本发明第二实施例提供的一种基于深度学习yolov3算法的前车车门打开检测装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

首先介绍本发明可以提供的应用场景,如预测前方车辆车门是否打开。

现有的车门打开检测方法大多是从停车的驾驶员本身出发,利用摄像头在司机准备打开车门的瞬间捕捉汽车周围的环境特别是后方的数据来得出打开车门有没有危险,本发明提供的实施例能够准确预测同车道或者是近车道前方车辆准备打开车门的危险。

本发明第一实施例:

请参阅图1。

如图1所示,本实施例提供的基于深度学习yolov3算法的前车车门打开检测方法,适于在计算机设备中执行,至少包括如下步骤:

s101、将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型;

s102、对所述视频流进行图像识别,捕捉前方车辆的图像信息;

s103、根据所述图像信息,判断所述前方车辆的车门是否关闭。

优选地,所述的基于深度学习yolov3算法的前车车门打开检测方法,还包括:若否,则触发预警。

对于步骤s101,所述摄像设备包括智能手机、行车记录仪和车载摄像头;所述前方车辆为同车道或近车道的前方车辆;所述图像信息包括车型、边框位置和类别概率。

需要说明的是,如图2所示,所述检测模型的构建步骤为:

s201、从bdd-100k数据库中获取同车道或近车道的前方车辆的车门打开的图像;

s202、根据深度学习yolov3算法,对所述图像进行预处理;

s203、对预处理后的图像进行检测模型训练;

s204、将训练得到的检测模型进行同车道或近车道的前方车辆的车门打开的测试集和验证集的测试和验证;

s205、将反馈得到的车型、边框位置和类别概率的实际情况进行若干次训练参数调整,得到匹配效果最高的检测模型。

对于步骤s201,具体的,创建同车道或近车道前车车门打开的数据集,可以在bdd-100k数据库上随机挑选具有明暗变化、尺寸变化、场景变化及样式变化的同车道或近车道前方车辆的车门打开的图像,并将这些同车道或近车道前方车辆的车门打开的图像的70%划分为训练集、20%划分为测试集和剩下的10%划分为验证集;其中训练集用来建立预训练模型,测试集用来测试所述预训练模型同车道或近车道前方车辆的车门打开识别的泛化能力,验证集用来控制所述预训练模型的参数如增大batch以减少nan的出现,修改classes类别数,修改最后一层卷积层核参数个数filters、修改weightdecay、修改最大迭代次数max_batches、改动学习率learningrate等等;本步骤扩充了训练的样本,防止图像样本过少导致的过拟合问题。

对于步骤s202,具体的,yolov3的数据包括训练数据、测试数据和验证数据(训练数据用来训练模型,测试数据用来测试模型,验证数据用来调整模型),其中的训练数据、测试数据和验证数据都包括图片和标签;对训练集、测试集和验证集中的图像进行标注,即收集图像上同车道或近车道前方车辆的车门打开的坐标信息(x,y,w,h)和同车道或近车道前方车辆的车门打开关键点的坐标信息(xi,yi);其中(x,y)代表同车道或近车道前方车辆的打开的车门在图像上的坐标,(w,h)代表同车道或近车道前方车辆的打开的车门在图像上的宽度和高度,其中有:

归一化的中心点x坐标计算公式:((x2+x1)/2.0)/w;

归一化的中心点y坐标计算公式:((y2+y1)/2.0)/h;

归一化的目标框宽度的计算公式:(x2-x1)/w;

归一化的目标框高度计算公式:((y2-y1)/h;

在测试集和验证集中进行图像标注的预处理就是为了帮助衡量训练集在完成预训练后图像标注的正确率。

对于步骤s203,具体的,根据预处理后的图像,重构同车道或近车道的前方车辆车门打开的检测数据库,并构建imagenet及yolov3检测框架的联合数据库以对训练集进行分类学习,进而创建检测模型,并通过logistic回归损失函数对所述检测模型进行优化;其中,

所述imagenet创建所述检测模型中的同车道或近车道的前方车辆的车门打开模型,所述yolov3检测框架创建所述检测模型中的同车道或近车道的前方车辆车门对齐模型;

所述logistic回归损失函数公式为,

yolov3检测框架将整个图像划分为s*s个网格,每个网格回归n个boundingboxes(图像边框),每个boundingbox(图像边框)都包含5个预测值:x,y,w,h和confidence。x,y就是boundingbox的中心坐标,与gridcell对齐(即相对于当前gridcell的偏移值),使得范围变成0到1;w和h进行归一化(分别除以图像的w和h,这样最后的w和h就在0到1范围);其中每个boundingbox(图像边框)对应置信度回归(对应损失函数中的confidenceloss)、位置回归(对应损失函数中的locationloss)、关键点回归(对应损失函数中的alignedloss),此处的关键点有5个,即车门的四个角和车窗,因此总共回归s*s*n*15.因此本损失函数包含了训练集的位置回归、置信度回归和关键点的回归,通过调节置信度、位置以及关键点损失的权重,使得模型收敛并提高模型的鲁棒性。

对于步骤s204,具体的,进行网络的验证,使用所述验证集控制所述预训练模型的参数,对于同车道或近车道前方车辆车门打开检测模型,使用map进行衡量,map是衡量同车道或近车道前方车辆车门打开检测车门框位置准确度的一个指标,通过设定不同的iou值来计算出同车道或近车道前方车辆车门打开检测的准确率和查全率,从而计算得到map,即是衡量同车道或近车道前方车辆打开的车门在图像上的坐标信息(x,y,w,h)的准确率;对于同车道或近车道前方车辆打开的车门模型的验证使用欧拉损失衡量,即是衡量同车道或近车道前方车辆打开的车门关键点的坐标信息(xi,yi)的准确率;这样通过验证集的衡量,可以相应地调整预训练模型的相关参数,提高同车道或近车道前方车辆打开的车门检测模型和同车道或近车道前方车辆打开的车门对齐模型的检测准确率和对齐准确率。

对于步骤s103,所述根据所述图像信息,判断所述前方车辆的车门是否关闭,具体的,根据所述图像信息中的车型、边框位置和类别概率,判断所述前方车辆的车门是否完全关闭,若否,则输出所述前方车辆的车门打开的图像。

需要说明的是,根据所述图像信息,判断所述前方车辆的车门是否关闭,若否,则触发预警。

本实施例提供的基于深度学习yolov3算法的前车车门打开检测方法,将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型;对所述视频流进行图像识别,捕捉前方车辆的图像信息;根据所述图像信息,判断所述前方车辆的车门是否关闭;本发明能够实时地高精度预测同车道或者是近车道前车车辆准备打开车门的危险并发出预警,在误检测方面错误率能降低一半多,并且可以直接学习图像的全局信息和end-to-end训练。

本发明第二实施例:

请参阅图3。

如图3所示,本实施例还提供了一种基于深度学习yolov3算法的前车车门打开检测装置,包括:

输入模块301,用于将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型

优选地,所述摄像设备包括智能手机、行车记录仪和车载摄像头;所述前方车辆为同车道或近车道的前方车辆;所述图像信息包括车型、边框位置和类别概率。

优选地,所述检测模型的构建步骤为:

从bdd-100k数据库中获取同车道或近车道的前方车辆的车门打开的图像;

根据深度学习yolov3算法,对所述图像进行预处理;

对预处理后的图像进行检测模型训练;

将训练得到的检测模型进行同车道或近车道的前方车辆的车门打开的测试集和验证集的测试和验证;

将反馈得到的车型、边框位置和类别概率的实际情况进行若干次训练参数调整,得到匹配效果最高的检测模型。

需要说明的是,所述从bdd-100k数据库中获取同车道或近车道的前方车辆的车门打开的图像,具体的,创建同车道或近车道前车车门打开的数据集,可以在bdd-100k数据库上随机挑选具有明暗变化、尺寸变化、场景变化及样式变化的同车道或近车道前方车辆的车门打开的图像,并将这些同车道或近车道前方车辆的车门打开的图像的70%划分为训练集、20%划分为测试集和剩下的10%划分为验证集;其中训练集用来建立预训练模型,测试集用来测试所述预训练模型同车道或近车道前方车辆的车门打开识别的泛化能力,验证集用来控制所述预训练模型的参数如增大batch以减少nan的出现,修改classes类别数,修改最后一层卷积层核参数个数filters、修改weightdecay、修改最大迭代次数max_batches、改动学习率learningrate等等;本步骤扩充了训练的样本,防止图像样本过少导致的过拟合问题。

需要说明的是,所述根据深度学习yolov3算法,对所述图像进行预处理,具体的,yolov3的数据包括训练数据、测试数据和验证数据(训练数据用来训练模型,测试数据用来测试模型,验证数据用来调整模型),其中的训练数据、测试数据和验证数据都包括图片和标签;对训练集、测试集和验证集中的图像进行标注,即收集图像上同车道或近车道前方车辆的车门打开的坐标信息(x,y,w,h)和同车道或近车道前方车辆的车门打开关键点的坐标信息(xi,yi);其中(x,y)代表同车道或近车道前方车辆的打开的车门在图像上的坐标,(w,h)代表同车道或近车道前方车辆的打开的车门在图像上的宽度和高度,其中有:

归一化的中心点x坐标计算公式:((x2+x1)/2.0)/w;

归一化的中心点y坐标计算公式:((y2+y1)/2.0)/h;

归一化的目标框宽度的计算公式:(x2-x1)/w;

归一化的目标框高度计算公式:((y2-y1)/h;

在测试集和验证集中进行图像标注的预处理就是为了帮助衡量训练集在完成预训练后图像标注的正确率。

需要说明的是,所述对预处理后的图像进行检测模型训练,具体的,根据预处理后的图像,重构同车道或近车道的前方车辆车门打开的检测数据库,并构建imagenet及yolov3检测框架的联合数据库以对训练集进行分类学习,进而创建检测模型,并通过logistic回归损失函数对所述检测模型进行优化;其中,

所述imagenet创建所述检测模型中的同车道或近车道的前方车辆的车门打开模型,所述yolov3检测框架创建所述检测模型中的同车道或近车道的前方车辆车门对齐模型;

所述logistic回归损失函数公式为,

yolov3检测框架将整个图像划分为s*s个网格,每个网格回归n个boundingboxes(图像边框),每个boundingbox(图像边框)都包含5个预测值:x,y,w,h和confidence。x,y就是boundingbox的中心坐标,与gridcell对齐(即相对于当前gridcell的偏移值),使得范围变成0到1;w和h进行归一化(分别除以图像的w和h,这样最后的w和h就在0到1范围);其中每个boundingbox(图像边框)对应置信度回归(对应损失函数中的confidenceloss)、位置回归(对应损失函数中的locationloss)、关键点回归(对应损失函数中的alignedloss),此处的关键点有5个,即车门的四个角和车窗,因此总共回归s*s*n*15.因此本损失函数包含了训练集的位置回归、置信度回归和关键点的回归,通过调节置信度、位置以及关键点损失的权重,使得模型收敛并提高模型的鲁棒性。

需要说明的是,所述将训练得到的检测模型进行同车道或近车道的前方车辆的车门打开的测试集和验证集的测试和验证,具体的,进行网络的验证,使用所述验证集控制所述预训练模型的参数,对于同车道或近车道前方车辆车门打开检测模型,使用map进行衡量,map是衡量同车道或近车道前方车辆车门打开检测车门框位置准确度的一个指标,通过设定不同的iou值来计算出同车道或近车道前方车辆车门打开检测的准确率和查全率,从而计算得到map,即是衡量同车道或近车道前方车辆打开的车门在图像上的坐标信息(x,y,w,h)的准确率;对于同车道或近车道前方车辆打开的车门模型的验证使用欧拉损失衡量,即是衡量同车道或近车道前方车辆打开的车门关键点的坐标信息(xi,yi)的准确率;这样通过验证集的衡量,可以相应地调整预训练模型的相关参数,提高同车道或近车道前方车辆打开的车门检测模型和同车道或近车道前方车辆打开的车门对齐模型的检测准确率和对齐准确率。

优选地,所述的基于深度学习yolov3算法的前车车门打开检测方法,还包括:若否,则触发预警。

需要说明的是,所述摄像设备包括智能手机、行车记录仪和车载摄像头;所述前方车辆为同车道或近车道的前方车辆;所述图像信息包括车型、边框位置和类别概率。

图像识别模块302,用于对所述视频流进行图像识别,捕捉前方车辆的图像信息。

判断模块303,用于根据所述图像信息,判断所述前方车辆的车门是否关闭,若否,则触发预警。具体的,具体用于根据所述图像信息中的车型、边框位置和类别概率,判断所述前方车辆的车门是否完全关闭,若否,则输出所述前方车辆的车门打开的图像。

需要说明的是,所述摄像设备包括智能手机、行车记录仪和车载摄像头;所述前方车辆为同车道或近车道的前方车辆;所述图像信息包括车型、边框位置和类别概率。

本实施例提供的基于深度学习yolov3算法的前车车门打开检测装置,将摄像设备实时采集的前方路况的视频流输入预先构建的检测模型;对所述视频流进行图像识别,捕捉前方车辆的图像信息;根据所述图像信息,判断所述前方车辆的车门是否关闭;本发明能够实时地高精度预测同车道或者是近车道前车车辆准备打开车门的危险并发出预警,在误检测方面错误率能降低一半多,并且可以直接学习图像的全局信息和end-to-end训练。

本发明的一个实施例还提供了一种基于深度学习yolov3算法的前车车门打开检测装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于深度学习yolov3算法的前车车门打开检测方法。

本发明的一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的基于深度学习yolov3算法的前车车门打开检测方法。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

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