一种基于计算机视觉的夜间车道线识别方法及系统与流程

文档序号:17624351发布日期:2019-05-10 23:29阅读:292来源:国知局
一种基于计算机视觉的夜间车道线识别方法及系统与流程

本发明涉及图像识别技术领域,特别涉及一种基于计算机视觉的夜间车道线识别方法及系统。



背景技术:

近年来,随着深度学习的逐渐发展,卷积神经网络在计算机视觉领域得到了广泛的应用,包括目标检测、图象语义分割等方面。例如基于卷积神经网络进行车道线识别。卷积神经网络模型的训练需要大量的样本数据,为了得到可靠、充分的训练数据,目前的车道线训练数据均使用白天采集的图片数据。但是白天采集的数据,由于交通拥堵等原因,往往造成车道线遮挡严重,出现车道线视角局限,导致识别不佳的情况。



技术实现要素:

本发明的目的在于改善现有技术中所存在的,使用白天采集的数据存在因车道线遮挡而造成车道线识别不准确的不足,提供一种基于机器视觉的夜间车道线识别方法及系统。

为了实现上述发明目的,一方面,本发明实施例提供了一种基于机器视觉的夜间车道线识别方法,包括以下步骤:

接收并存储在夜间采集到的原始的车道图像;

对采集的车道图像进行效果增强处理,以提高图像清晰度;

对效果增强后的图像进行数据标注,得到标签图像;

使用原始的车道图像和数据标注后的标签图像进行卷积神经网络模型训练,得到用于识别夜间车道线的夜间车道线识别模型。

在更为具体的方案中,所述对采集的车道图像进行效果增强处理的步骤,包括:

对原始的车道图像进行白平衡处理;

对白平衡处理后的图像进行锐化处理;

对锐化处理后的图像进行伽马校正。

在更为具体的方案中,所述使用原始的车道图像和数据标注后的标签图像进行卷积神经网络模型训练的步骤,包括:

步骤1),随机抽取一张原始的车道图像,并进行数据增强;

步骤2),将步骤1)处理后的图片作为卷积神经网路的输入,进行前向传播,得到预测结果;

步骤3),将得到的预测结果与标签图像中标注的类别标签进行损失计算,并根据损失进行反向传播并优化模型参数;

循环执行上述步骤1至步骤3),直至完成迭代,且每一次迭代过程,步骤1)中更换一张原始的车道图像,步骤3)中更换相应的标签图像。

在进一步优化的方案中,在得到用于识别夜间车道线的夜间车道线识别模型之后,上述方法还包括步骤:

接收待识别的车道图像,经所述夜间车道线识别模型识别后,输出图像中每个像素分别为各种类别的概率值,当表示车道线的类别的概率值最大时,则将该像素识别为车道线。

另一方面,本发明实施例中还提供了一种基于计算机视觉的夜间车道线识别系统,包括以下模块:

数据输入模块,用于接收并存储在夜间采集到的原始的车道图像;

效果增强模块,用于对采集的车道图像进行效果增强处理,以提高图像清晰度;

数据标注模块,用于对效果增强后的图像进行数据标注,得到标签图像;

模型训练模块,用于使用原始的车道图像和数据标注后的标签图像进行卷积神经网络模型训练,得到用于识别夜间车道线的夜间车道线识别模型。

在进一步优化的方案中,上述系统中还包括识别模块,用于将待识别的车道图像经所述夜间车道线识别模型识别后,输出图像中每个像素分别为各种类别的概率值,当表示车道线的类别的概率值最大时,则将该像素识别为车道线。

另一方面,本发明实施例中还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任一方案所述方法的步骤。

再一方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一方案所述方法的步骤。

与现有技术相比,本发明的有益效果:

1.采用夜晚采集的图像数据进行模型训练及识别,消除了白天采集数据容易出现车道线被遮挡的问题。

2.通过效果增强处理,使得图像的清晰度更高,使用增强后数据进行标注,而不是对原始的车道图像直接进行标注,这样提高了作业人员对图片的辨识度,保证了标注数据的正确性。

3.训练模型时,使用原始图片进行训练,而不是增强后的图片进行训练。最大程度上保留了图片的原始信息,充分利用深度学习强大的特征其他能力,达到夜晚场景车道线能够准确识别的目的,使得模型对于原始的图像或者效果增强后的图像进行车道线识别时,都能有很高的识别准确度,降低了对识别图像的要求。

4.限定采集图像时设置大增益,大增益提高了图片亮度,且保证了图片采集速度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的基于机器视觉的夜间车道线识别模型的构建方法的流程图。

图2a、图2b分别为本发明较佳实施例中提供的夜间采集的原始图片、增强处理后的图片。

图3为本发明较佳实施例提供的基于机器视觉的夜间车道线识别方法的流程图。

图4是本发明较佳实施例提供的基于机器视觉的夜间车道线识别系统的功能模块示意图。

图5为本发明较佳实施例中所说的电子设备的组成模块框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本实施例中提供了一种基于计算机视觉的夜间车道线识别模型的构建方法,该方法包括如下步骤:

步骤s101,接收并存储在夜间采集的车道图像。此处的夜间可以理解为传统意义上的夜间,例如北京时间当日晚上19点至次日凌晨7点。但是需要说明的是,在夜间采集车道图像的目的是消除白天采集图像容易因交通拥堵而造成车道线遮挡的情况,因此,对于夜间的理解也可以是夜晚交通流量比较小的时间段,例如可以在当日晚上12点左右、凌晨2点左右等时间采集车道图像。

车道图像采用相机进行采集。为了使得采集的车道图像不至于过暗,优选在较大的增益下进行采集,例如作为一种实施方式的举例,可以将增益设置为300。车道图像中不仅包括车道线,还可能包括天空、车辆、植被等,所以在采集车道图像时,可以尽量避免包含行人或其他在路面上行走的动物,以降低后续识别难度。

步骤s102,对采集的车道图像进行效果增强处理,以提高图像清晰度。

本实施例中,作为一种实施方式的举例,所述效果增强处理包括以下步骤:

步骤a,对采集到的原始图像进行白平衡处理。具体的,对于每一个数据通道,变化公式为:其中,v是变换前的像素值,v’是变换后的像素值,maxv、minv分别是该通道的最大像素值、最小像素值。

步骤b,锐化处理。首先对经过步骤a处理后的图像进行高斯平滑处理,得到模糊图像blur,然后锐化图像是基于原始图像img和模糊图像blur计算而来,计算公式是:sharp_image=1.5*img-0.5*blur,公式中,img为原始图像,blur为模糊图像。即是说,锐化后的图像中每个像素的值为1.5倍原始图像像素值与0.5倍模糊图像像素值之差。

图像平滑的基本思路是:其中,(i,j)表示当前像素的位置,(i+k,j+l)表示输入像素的位置,h(k,l)表示权重系数,称之为核;像素的平滑值可以理解为对输入像素进行线性加权。对于高斯平滑,其核h的分布是高斯的,称之为高斯核,公式是:

步骤c,gamma(伽马)矫正。gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系,计算公式是:y=255*(1-x/255)1/γ,式中,x为输入图像灰度值,y为输出图像灰度值,γ为伽马值,本实施例中,γ取值2.0。

请参阅图2a、图2b所示,图2a为效果增强前的原始图像,图2b为效果增强后的图像,明显地,效果增强后提高了图像清晰度。

步骤s103,对效果增强后的图像进行数据标注,得到标注后的图像,或称之为标签图像。

数据标注是图像语义分割的像素标注,即,将图片中的每一个像素标注成对应的类别。本实施例中,标注的类别有车道线、路面、路面上物体、天空,其中路面上物体包括图像中的车辆(若有)、植被、行人(若有)等,标注时,作为一种举例,例如车道线标注为1,路面标注为2、路面上的物体标注为3,天空标注为4,等等。通过对效果增强后的图像进行标注,而不是对原始图像进行标注,可以很大程度地提高标注的准确性,继而提高车道线识别的准确性。

步骤s104,使用步骤s101中采集到的原始图像和步骤s103中得到的标签图像进行卷积神经网络模型训练,得到用于识别夜间车道线的网络模型,称之为夜间车道线识别模型。

本实施例中,具体的训练过程如下:

步骤1),随机抽取一张原始车道图像,对原始车道图像进行数据随机裁剪和数据增强,裁剪后使得原始图像与卷积神经网络输入大小相同,将其作为模型的数据;数据增强包括图像亮度的随机变化和x方向的随机翻转,以丰富数据,使模型看到的数据更多。需要注意也容易理解的是,如果对原始图像进行了x方向的翻转,对标签图像也需要进行对应的翻转;如果标签图像进行了翻转,则需要调换翻转后的左车道线、右车道线。

步骤2),将步骤1)处理后的图片作为卷积神经网路的输入,进行前向传播,即得到预测结果。

步骤3),将得到的预测结果和标签图像中标注的类别标签进行loss(损失函数)计算,根据损失进行反向传播。

本步骤中,loss函数选用的focalloss,其公式是:式中,c表示样本x的真实类别;a表示各个类别的权重;γ用于调节不同类别之间的差异程度;y是label向量,表示类别的概率值,i为类别的下标,标注数据一般是onehot编码,y’是预测的label向量,是一个概率分布。

反向传播是使用梯度下降方式进行模型参数优化。反向传播的方向使用冲量(momentum)方向计算方式,学习率的变化方式使用多项式方式。

momentum梯度计算公式:其中,vi是第i次迭代方向;表示参数梯度方向,v的维度与w的维度同。

多项式学习率迭代公式:lr=base_lr·(1-n/n)r,其中,base_lr表示初始学习率,可以设定为0.04,n为总的迭代次数,实际中,epoch数可以设置为300,mini_batch大小可以设置为64,r可以设置为0.8,n表示当前迭代次数,a是超参数,可以设置为0.95。

循环执行上述步骤1至步骤3),每一次迭代,步骤1)中更换一张原始车道图像,步骤3)中更换为相应的标签图像,直至完成迭代。通过fcn网络提取各个像素的特征,如果输入图片的大小是hxw,fcn的输出是h/16xw/16,则将fcn的输出进行上采样16倍,得到原图输入大小。

上述方法中,在数据标注上,使用增强后数据进行标注,而不是对原图直接进行标注,提高了作业人员对图片的辨识度,保证了标注数据的正确性,继而可以提高模型识别的准确性。另外,在训练模型时,使用原始图片进行训练,而不是增强后图片进行训练,最大程度上保留了图片的原始信息,充分利用深度学习强大的特征提取能力,达到夜晚场景车道线能够被准确识别的目的。

请参阅图3,基于上述方法构建的夜间车道线识别模型可以进行夜间车道线识别,该识别方法包括以下步骤:

步骤一,接收用户输入的待识别的原始车道图像。

步骤二,该原始车道图像作为夜间车道线识别模型的输入,经夜间车道线识别模型识别后,输出图像中每个像素分别为各种类别的概率值,并将概率值最大者作为该像素的类别,若表示车道线的类别的概率值最大,则识别为车道线。

通过上述方法进行夜间车道线识别,可以准确地识别出车道线,为后续的应用提供可靠的数据支持。

请参阅图4,本实施例中同时还提供了一种基于计算机视觉的夜间车道线识别系统,包括数据输入模块、效果增强模块、数据标注模块、模型训练模块。其中,数据输入模块,用于接收并存储在夜间采集到的原始的车道图像;效果增强模块,用于对采集的车道图像进行效果增强处理,以提高图像清晰度;数据标注模块,用于对效果增强后的图像进行数据标注,得到标签图像;模型训练模块,用于使用原始的车道图像和数据标注后的标签图像进行卷积神经网络模型训练,得到用于识别夜间车道线的夜间车道线识别模型。

本实施例中,更具体的,所述效果增强模块包括:

白平衡处理子模块,用于对原始的车道图像进行白平衡处理。对于每一个数据通道,变化公式为:其中,v是变换前的像素值,v’是变换后的像素值,maxv、minv分别是该通道的最大像素值、最小像素值。

锐化处理子模块,用于对白平衡处理后的图像进行锐化处理。具体的,首先对白平衡处理后的图像进行高斯平滑处理,得到模糊图像blur,然后锐化图像是基于原始图像img和模糊图像blur计算而来,计算公式是:sharp_image=1.5*img-0.5*blur,公式中,img为原始图像,blur为模糊图像。

伽马校正子模块,用于对锐化处理后的图像进行伽马校正。具体的,gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系,计算公式是:y=255*(1-x/255)1/γ,式中,x为输入图像灰度值,y为输出图像灰度值,γ为伽马值,本实施例中,γ取值2.0。

本实施例中,更具体的,所述模型训练模块通过以下步骤进行模型训练:

步骤1),随机抽取一张原始车道图像,对原始车道图像进行数据数据增强,数据增强包括图像亮度的随机变化和x方向的随机翻转,以丰富数据,使模型看到的数据更多。需要注意也容易理解的是,如果对原始图像进行了x方向的翻转,对标签图像也需要进行对应的翻转;如果标签图像进行了翻转,则需要调换翻转后的左车道线、右车道线。

另外,也可能会根据需要对原始车道图像进行数据裁剪,裁剪后使得原始图像与卷积神经网络输入大小相同,将其作为模型的输入。

步骤2),将步骤1)处理后的图片作为卷积神经网路的输入,进行前向传播,即得到预测结果。

步骤3),将得到的预测结果和标签图像中标注的类别标签进行loss(损失函数)计算,根据损失进行反向传播。

本步骤中,loss函数选用的focalloss,其公式是:式中,c表示样本x的真实类别;a表示各个类别的权重;γ用于调节不同类别之间的差异程度;y是label向量,表示类别的概率值,i为类别的下标,标注数据一般是onehot编码,y’是预测的label向量,是一个概率分布。

反向传播是使用梯度下降方式进行模型参数优化。反向传播的方向使用冲量(momentum)方向计算方式,学习率的变化方式使用多项式方式。

momentum梯度计算公式:其中,vi是第i次迭代方向;表示参数梯度方向,v的维度与w的维度同。

多项式学习率迭代公式:lr=base_lr·(1-n/n)r,其中,base_lr表示初始学习率,可以设定为0.04,n为总的迭代次数,实际中,epoch数可以设置为300,mini_batch大小可以设置为64,r可以设置为0.8,n表示当前迭代次数,a是超参数,可以设置为0.95。

循环执行上述步骤1至步骤3),每一次迭代,步骤1)中更换一张原始车道图像,步骤3)中更换为相应的标签图像,直至完成迭代。

本实施例中,更进一步的方案中,上述基于计算机视觉的夜间车道线识别系统中,还包括识别模块,用于将夜间车道线识别模型输出的概率值中,概率值最大者作为对应像素的类别,继而识别出车道线。即是说,当待识别的车道图像输入至夜间车道线识别模型中后,夜间车道线识别模型会输出各像素分别为各种类别的概率值,识别模块会将像素识别为概率值最大者对应的类别,例如,如果像素的概率值中车道线对应的概率值最大,则将该像素识别为车道线。

上述基于计算机视觉的夜间车道线识别系统和方法是基于相同的发明构思,在系统描述中如有不清楚之处,请参见前述基于计算机视觉的夜间车道线识别方法中的相关描述。

如图5所示,本实施例同时提供了一种电子设备,该电子设备可以包括处理器51和存储器52,其中存储器52耦合至处理器51。值得注意的是,该图是示例性的,还可以使用其他类型的结构来补充或替代该结构,实现数据提取、效果增强、车道线识别、通信或其他功能。

如图5所示,该电子设备还可以包括:输入单元53、显示单元54和电源55。值得注意的是,该电子设备也并不是必须要包括图5中显示的所有部件。此外,电子设备还可以包括图5中没有示出的部件,可以参考现有技术。

处理器51有时也称控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器51接收输入并控制电子设备的各个部件的操作。

其中,存储器52例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其他合适装置中的一种或多种,可存储上述处理器51的配置信息、处理器51执行的指令、记录的表格数据等信息。处理器51可以执行存储器52存储的程序,以实现信息存储或处理等。在一个实施例中,存储器52中还包括缓冲存储器,即缓冲器,以存储中间信息。

输入单元53例如用于向处理器51提供夜间采集到的原始车道图像。显示单元54用于显示处理过程中的各种状态图,该显示单元例如可以为lcd显示器,但本发明并不限于此。电源55用于为电子设备提供电力。

本发明实施例还提供一种计算机可读指令,其中当在电子设备中执行所述指令时,所述程序使得电子设备执行本发明方法所包含的操作步骤。

本发明实施例还提供一种存储有计算机可读指令的存储介质,其中所述计算机可读指令使得电子设备执行本发明方法所包含的操作步骤。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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