基于深度学习的车道线检测方法、装置、终端及存储介质
技术领域
本发明涉及人工智能中的深度学习技术领域,具体涉及一种基于深度学习的车道线检测方法、装置、终端及存储介质。
背景技术
实例分割是人工智能领域中和计算机视觉任务中非常重要的一种。在交通领域中,车道线由于其特征不明显,位置精度需求较高,其检测更加依赖于实例分割技术来完成。现有的基于实例分割技术的车道线检测技术在公开数据集上的测试精度可高达96%以上,然而在真实的数据上的表现一般,车道线检测结果准确率较低,鲁棒性差。
原因在于,现有实例分割忽视了检测过程与分割过程的内在关联,使用卷积下采样技术提取了图像特征后,又使用了一组参数来训练用于对特征的分割,最终将在特征图上的分割映射回到原图像。因此造成了参数冗余,导致实例分割在空间上的不必要扩张,成为模型鲁棒性低的一大原因。
发明内容
鉴于以上内容,有必要提出一种基于深度学习的车道线检测方法、装置、终端及存储介质,能够提高分割车道线图像中的车道线的准确率。
本发明的第一方面提供一种基于深度学习的车道线检测方法,所述基于深度学习的车道线检测方法包括:
基于构建的训练数据集训练参数共享的车道线检测模型;
获取车道线图像并将所述车道线图像输入至所述车道线检测模型中进行特征提取;
获取所述车道线检测模型的最后一层下采样层输出的特征图;
对所述特征图进行局部非极大抑制计算得到第一目标特征图;
根据所述第一目标特征图生成第二目标特征图;
通过所述车道线检测模型的上采样层对所述第二目标特征图进行分割得到掩码图;
根据所述掩码图分割出车道线。
根据本发明的一个可选的实施例,所述基于构建的训练数据集训练参数共享的车道线检测模型包括:
基于开源的目标检测图像数据集构建训练数据集;
通过卷积神经网络训练所述训练数据集得到车道线检测模型;
提取所述车道线检测模型的多层下采样层的参数值;
将所述多层下采样层的参数值共享给多层上采样层得到参数共享的车道线检测模型,所述参数共享的车道线检测模型存储于区块链节点中。
根据本发明的一个可选的实施例,所述将所述多层下采样层的参数值共享给多层上采样层包括:
确定与每一层下采样层对应的上采样层;
采用预先设置的算子对每一层下采样层的参数值进行运算得到新的参数值;
将每一个新的参数值赋值给与所述下采样层对应的上采样层。
根据本发明的一个可选的实施例,所述对所述特征图进行局部非极大抑制计算得到第一目标特征图包括:
创建滑动窗口;
采用所述滑动窗口在所述特征图上进行无重叠滑动;
将每一个滑动窗口中的最大像素值保留,其余像素值更新为零,得到第一目标特征图。
根据本发明的一个可选的实施例,所述根据所述第一目标特征图生成第二目标特征图包括:
获取所述第一目标特征图中所有的非零像素点;
针对每一个非零像素点,生成一个与所述第一目标特征图大小相同的第二目标特征图,其中,所述第二目标特征图的通道数为1,所述第二目标特征图的非零像素点的值与所述第一目标特征图中对应的非零像素点的值相等。
根据本发明的一个可选的实施例,所述根据所述掩码图分割出车道线包括:
将每一个掩码图转换成单通道灰度图;
将所述单通道灰度图中的像素值小于预设阈值的像素点的像素值设置为零,得到新的单通道灰度图;
将所有新的单通道灰度图进行通道拼接;
对通道拼接后的灰度图进行非极大值抑制得到车道线分割图像。
根据本发明的一个可选的实施例,所述获取车道线图像包括:
获取车载惯导视觉系统采集的道路前景图像;
定义多个目标坐标点;
在所述道路前景图像中选取多个原始坐标点;
根据所述多个目标坐标点及所述多个原始坐标点计算变换矩阵;
采用所述变换矩阵对所述道路前景图像进行透视变换得到车道线图像。
本发明的第二方面提供一种基于深度学习的车道线检测装置,所述基于深度学习的车道线检测装置包括:
模型训练模块,用于基于构建的训练数据集训练参数共享的车道线检测模型;
特征提取模块,用于获取车道线图像并将所述车道线图像输入至所述车道线检测模型中进行特征提取;
特征获取模块,用于获取所述车道线检测模型的最后一层下采样层输出的特征图;
抑制计算模块,用于对所述特征图进行局部非极大抑制计算得到第一目标特征图;
特征生成模块,用于根据所述第一目标特征图生成第二目标特征图;
特征分割模块,用于通过所述车道线检测模型的上采样层对所述第二目标特征图进行分割得到掩码图;
车道线分割模块,用于根据所述掩码图分割出车道线。
本发明的第三方面提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述基于深度学习的车道线检测方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于深度学习的车道线检测方法。
综上所述,本发明所述的基于深度学习的车道线检测方法、装置、终端及存储介质,通过对车道线检测模型进行改进,训练出参数共享的车道线检测模型,能够减少车道线检测模型的训练时间,且由于参数共享,能够提高车道线检测模型的鲁棒性,从而提高车道线图像的分割准确率。再通过对车道线检测模型得到的特征图进行非极大抑制计算,降低了噪声和非车道线的对象对车道线的影响,进一步提高了车道线图像的分割准确率。
附图说明
图1是本发明实施例提供的基于深度学习的车道线检测方法的流程图。
图2是本发明实施例提供的基于深度学习的车道线检测装置的结构图。
图3是本发明实施例提供的终端的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明实施例一提供的基于深度学习的车道线检测方法的流程图。所述基于深度学习的车道线检测方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,基于构建的训练数据集训练参数共享的车道线检测模型。
构建训练数据集并基于构建的训练数据集训练出参数共享的车道线检测模型,所述车道线检测模型中的检测部分与分割部分之间的多个参数共享,不仅降低了参数冗余,还能使得车道线检测模型的检测过程和分割过程具有内在关联,避免了实例分割在空间上的不必要扩张。
在一个可选的实施例中,所述基于构建的训练数据集训练参数共享的车道线检测模型包括:
基于开源的目标检测图像数据集构建训练数据集;
通过卷积神经网络训练所述训练数据集得到车道线检测模型;
提取所述车道线检测模型的多层下采样层的参数值;
将所述多层下采样层的参数值共享给多层上采样层得到参数共享的车道线检测模型。
该可选的实施例中,目标检测图像数据集可以为公开的用于完成目标检测任务的图像数据集。目标检测图像数据集输入至卷积神经网络后,先经过多层下采样层进行目标检测,再经过多层上采样层进行目标分割,多层下采样层与多层上采样层对应,即多层下采样层形成的网络架构与多层上采样层形成的网络架构呈对称式设置。
将多层下采样层的参数值共享给多层上采样层,将目标检测的过程与目标分割的过程进行了内在关联,只需要为下采样层训练出一组参数即可,而不需要训练出上采样层的参数。由于减少了卷积神经网络的自由参数的数量,使得计算量减少,训练速度提升。另外,由于减少了卷积神经网络的深度,则减少了车道线检测模型过拟合的可能,提高了车道线检测模型的泛化性能,增强了车道线检测模型的鲁棒性。
在一个可选的实施例中,所述将所述多层下采样层的参数值共享给多层上采样层包括:
确定与每一层下采样层对应的上采样层;
采用预先设置的算子对每一层下采样层的参数值进行运算得到新的参数值;
将每一个新的参数值赋值给与所述下采样层对应的上采样层。
示例性的,假设下采样层为L1,L2,…,Ln,对应的上采样层权重参数值依次为w1,w2,…,wn,上采样层为Hn,…,H2,H1,则将w1’=T(w1)赋值给上采样层H1,将w2’=T(w2)赋值给上采样层H2,以此类推,将wn’=T(wn)赋值给上采样层Hn,T为算子。
该可选的实施例中,所述算子可以为预先设置的转置运算,也可以为预先设置的逆运算,通过算子对上采样层的参数值进行转置或者逆运算后得到新的参数值,作为上采样层的参数值,免去了对上采样层的参数值的训练,节省了车道线检测模型的训练时间,提高了车道线检测模型的训练效率。
S12,获取车道线图像并将所述车道线图像输入至所述车道线检测模型中进行特征提取。
将获取的车道线图像输入训练好的车道线检测模型中,通过车道线检测模型提取车道线图像中的特征。
在一个可选的实施例中,所述获取车道线图像包括:
获取车载惯导视觉系统采集的道路前景图像;
定义多个目标坐标点;
在所述道路前景图像中选取多个原始坐标点;
根据所述多个目标坐标点及所述多个原始坐标点计算变换矩阵;
采用所述变换矩阵对所述道路前景图像进行透视变换得到车道线图像。
该可选的实施例中,相同路面上的车道线具有近似平行的特性,对道路前景图像进行透视变换能够消除透视效应,消除了道路周边环境和天空的干扰,只保留车道线图像中感兴趣的路面车道信息,减小了复杂背景的计算量,便于后期的车道线的检测与分割。
S13,获取所述车道线检测模型的最后一层下采样层输出的特征图。
车道线检测模型先利用多层下采样层对车道线图像进行下采样,再利用多层上采样层进行上采样。本实施例中,获取车道线检测模型的最后一层下采样层输出的特征图。
S14,对所述特征图进行局部非极大抑制计算得到第一目标特征图。
对特征图进行局部非极大抑制计算得到的第一目标特征图,能够代表真实的目标实例。
在一个可选的实施例中,所述对所述特征图进行局部非极大抑制计算得到第一目标特征图包括:
创建滑动窗口;
采用所述滑动窗口在所述特征图上进行无重叠滑动;
将每一个滑动窗口中的最大像素值保留,其余像素值更新为零,得到第一目标特征图。
预先创建一个N*N(例如,3*3)的滑动窗口。
由于车道线特征相对于整个车道线图像并不明显,该可选的实施例通过滑动窗口在特征图中滑动,并在每次滑动过程中将与最大值不等的值抑制为零,使得代表车道线的最大像素点得以保留,其余代表噪声或非车道线的像素点去除,得到的目标特征图能够最大程度的代表车道线的特征,便于后续通过车道线检测模型进行目标分割,能够准确的分割出车道线。
S15,根据所述第一目标特征图生成第二目标特征图。
第一目标特征图中的像素点包括零点和非零点,由于第一目标特征图中的任意一个非零像素点代表一个对象(车道),为了避免对象之间的信号干扰,需要根据第一目标特征图中的每个非零像素点生成第二目标特征图。
在一个可选的实施例中,所述根据所述第一目标特征图生成第二目标特征图包括:
获取所述第一目标特征图中所有的非零像素点;
针对每一个非零像素点,生成一个与所述第一目标特征图大小相同的第二目标特征图,其中,所述第二目标特征图的通道数为1,所述第二目标特征图的非零像素点的值与所述第一目标特征图中对应的非零像素点的值相等。
示例性的,假设第一目标特征图中有P个非零像素点,为第一目标特征图中每个非零像素点Pi生成了一个通道数为1,且仅有Pi点的第二目标特征图,第二目标特征图的数量为P。
该可选的实施例中,通过为第一目标特征图中的每个非零像素点生成第二目标特征图能够有效的将对象分割开来,使得一个第二目标特征图代表一个对象,通过车道线检测模型的上采样层对所述第二目标特征图进行上采样时,生成的掩码图仅包含该对象。
S16,通过所述车道线检测模型的上采样层对所述第二目标特征图进行分割得到掩码图。
将每一个第二目标特征图输入至车道线检测模型中,并利用车道线检测模型中的多层上采样层对第二目标特征图进行分割处理。
S17,根据所述掩码图分割出车道线。
得到多个掩码图之后,即可根据这多个掩码图分割出车道线图像中的车道线。
在一个可选的实施例中,所述根据所述掩码图分割出车道线包括:
将每一个掩码图转换成单通道灰度图;
将所述单通道灰度图中的像素值小于预设阈值的像素点的像素值设置为零,得到新的单通道灰度图;
将所有新的单通道灰度图进行通道拼接;
对通道拼接后的灰度图进行非极大值抑制得到车道线分割图像。
该可选的实施例中,第一目标特征图中有P个非零像素点,则生成P个第二目标特征图,得到P个掩码图。通过多层上采样层对每一个第二目标特征图进行采样得到的掩码图为三通道,将三通道的掩码图转换为灰度图。
单通道灰度图中某个像素点的像素值小于预设阈值时,表明该像素点对应的对象的特征不够充分,对于对象的分割起不到实际意义,因而通过阈值分割将像素值小于预设阈值的像素点设置为零,实现了对这一类像素点的过滤。最后经过多通道的拼接融合形成一个完整的车道线分割图像。完整的车道线分割图像中,每个通道代表一条车道的掩码。
进一步的,为了避免同一个车道线分割图像上的某一个点代表两个不同的对象,则需要对通道拼接后的灰度图进行非极大值抑制。具体实施时,比较同一个点的两个不同的像素值,保留像素值大的灰度图,去掉像素值小的灰度图。
本实施例中,通过对车道线检测模型进行改进,训练出参数共享的车道线检测模型,能够减少车道线检测模型的训练时间,且由于参数共享,能够提高车道线检测模型的鲁棒性,从而提高车道线图像的分割准确率。再通过对车道线检测模型得到的特征图进行非极大抑制计算,降低了噪声和非车道线的对象对车道线的影响,进一步提高了车道线图像的分割准确率。
需要强调的是,为进一步保证车道线检测模型的私密和安全性,上述车道线检测模型还可以存储于一区块链的节点中。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,本发明还可用于智慧交通领域,通过本发明对车道线的自动且高准确度的检测,能够推动智慧城市的建设,推动无人驾驶车辆的发展与应用。本发明实施例的基于深度学习的车道线检测方法应用在终端中,也可以应用在终端和通过网络与所述终端进行连接的服务器所构成的硬件环境中,由服务器和终端共同执行。网络包括但不限于:广域网、城域网或局域网。
图2是本发明实施例二提供的基于深度学习的车道线检测装置的结构图。
在一些实施例中,所述基于深度学习的车道线检测装置20可以包括多个由计算机程序段所组成的功能模块。所述基于深度学习的车道线检测装置20中的各个程序段的计算机程序可以存储于终端的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)基于深度学习的车道线检测的功能。
本实施例中,所述基于深度学习的车道线检测装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:模型训练模块201、图像获取模块202、特征提取模块203、特征获取模块204、抑制计算模块205、特征生成模块206、特征分割模块207及车道线分割模块208。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述模型训练模块201,用于基于构建的训练数据集训练参数共享的车道线检测模型。
构建训练数据集并基于构建的训练数据集训练出参数共享的车道线检测模型,所述车道线检测模型中的检测部分与分割部分之间的多个参数共享,不仅降低了参数冗余,还能使得车道线检测模型的检测过程和分割过程具有内在关联,避免了实例分割在空间上的不必要扩张。
在一个可选的实施例中,所述模型训练模块201基于构建的训练数据集训练参数共享的车道线检测模型包括:
基于开源的目标检测图像数据集构建训练数据集;
通过卷积神经网络训练所述训练数据集得到车道线检测模型;
提取所述车道线检测模型的多层下采样层的参数值;
将所述多层下采样层的参数值共享给多层上采样层得到参数共享的车道线检测模型。
该可选的实施例中,目标检测图像数据集可以为公开的用于完成目标检测任务的图像数据集。目标检测图像数据集输入至卷积神经网络后,先经过多层下采样层进行目标检测,再经过多层上采样层进行目标分割,多层下采样层与多层上采样层对应,即多层下采样层形成的网络架构与多层上采样层形成的网络架构呈对称式设置。
将多层下采样层的参数值共享给多层上采样层,将目标检测的过程与目标分割的过程进行了内在关联,只需要为下采样层训练出一组参数即可,而不需要训练出上采样层的参数。由于减少了卷积神经网络的自由参数的数量,使得计算量减少,训练速度提升。另外,由于减少了卷积神经网络的深度,则减少了车道线检测模型过拟合的可能,提高了车道线检测模型的泛化性能,增强了车道线检测模型的鲁棒性。
在一个可选的实施例中,所述将所述多层下采样层的参数值共享给多层上采样层包括:
确定与每一层下采样层对应的上采样层;
采用预先设置的算子对每一层下采样层的参数值进行运算得到新的参数值;
将每一个新的参数值赋值给与所述下采样层对应的上采样层。
示例性的,假设下采样层为L1,L2,…,Ln,对应的上采样层权重参数值依次为w1,w2,…,wn,上采样层为Hn,…,H2,H1,则将w1’=T(w1)赋值给上采样层H1,将w2’=T(w2)赋值给上采样层H2,以此类推,将wn’=T(wn)赋值给上采样层Hn,T为算子。
该可选的实施例中,所述算子可以为预先设置的转置运算,也可以为预先设置的逆运算,通过算子对上采样层的参数值进行转置或者逆运算后得到新的参数值,作为上采样层的参数值,免去了对上采样层的参数值的训练,节省了车道线检测模型的训练时间,提高了车道线检测模型的训练效率。
所述图像获取模块202,用于获取车道线图像。
在一个可选的实施例中,所述图像获取模块202获取车道线图像包括:
获取车载惯导视觉系统采集的道路前景图像;
定义多个目标坐标点;
在所述道路前景图像中选取多个原始坐标点;
根据所述多个目标坐标点及所述多个原始坐标点计算变换矩阵;
采用所述变换矩阵对所述道路前景图像进行透视变换得到车道线图像。
该可选的实施例中,相同路面上的车道线具有近似平行的特性,对道路前景图像进行透视变换能够消除透视效应,消除了道路周边环境和天空的干扰,只保留车道线图像中感兴趣的路面车道信息,减小了复杂背景的计算量,便于后期的车道线的检测与分割。
所述特征提取模块203,用于将所述车道线图像输入至所述车道线检测模型中进行特征提取。
将获取的车道线图像输入训练好的车道线检测模型中,通过车道线检测模型提取车道线图像中的特征。
所述特征获取模块204,用于获取所述车道线检测模型的最后一层下采样层输出的特征图。
车道线检测模型先利用多层下采样层对车道线图像进行下采样,再利用多层上采样层进行上采样。本实施例中,获取车道线检测模型的最后一层下采样层输出的特征图。
所述抑制计算模块205,用于对所述特征图进行局部非极大抑制计算得到第一目标特征图。
对特征图进行局部非极大抑制计算得到的第一目标特征图,能够代表真实的目标实例。
在一个可选的实施例中,所述抑制计算模块205对所述特征图进行局部非极大抑制计算得到第一目标特征图包括:
创建滑动窗口;
采用所述滑动窗口在所述特征图上进行无重叠滑动;
将每一个滑动窗口中的最大像素值保留,其余像素值更新为零,得到第一目标特征图。
预先创建一个N*N(例如,3*3)的滑动窗口。
由于车道线特征相对于整个车道线图像并不明显,该可选的实施例通过滑动窗口在特征图中滑动,并在每次滑动过程中将与最大值不等的值抑制为零,使得代表车道线的最大像素点得以保留,其余代表噪声或非车道线的像素点去除,得到的目标特征图能够最大程度的代表车道线的特征,便于后续通过车道线检测模型进行目标分割,能够准确的分割出车道线。
所述特征生成模块206,用于根据所述第一目标特征图生成第二目标特征图。
第一目标特征图中的像素点包括零点和非零点,由于第一目标特征图中的任意一个非零像素点代表一个对象(车道),为了避免对象之间的信号干扰,需要根据第一目标特征图中的每个非零像素点生成第二目标特征图。
在一个可选的实施例中,所述特征生成模块206根据所述第一目标特征图生成第二目标特征图包括:
获取所述第一目标特征图中所有的非零像素点;
针对每一个非零像素点,生成一个与所述第一目标特征图大小相同的第二目标特征图,其中,所述第二目标特征图的通道数为1,所述第二目标特征图的非零像素点的值与所述第一目标特征图中对应的非零像素点的值相等。
示例性的,假设第一目标特征图中有P个非零像素点,为第一目标特征图中每个非零像素点Pi生成了一个通道数为1,且仅有Pi点的第二目标特征图,第二目标特征图的数量为P。
该可选的实施例中,通过为第一目标特征图中的每个非零像素点生成第二目标特征图能够有效的将对象分割开来,使得一个第二目标特征图代表一个对象,通过车道线检测模型的上采样层对所述第二目标特征图进行上采样时,生成的掩码图仅包含该对象。
所述特征分割模块207,用于通过所述车道线检测模型的上采样层对所述第二目标特征图进行分割得到掩码图。
将每一个第二目标特征图输入至车道线检测模型中,并利用车道线检测模型中的多层上采样层对第二目标特征图进行分割处理。
所述车道线分割模块208,用于根据所述掩码图分割出车道线。
得到多个掩码图之后,即可根据这多个掩码图分割出车道线图像中的车道线。
在一个可选的实施例中,所述车道线分割模块208根据所述掩码图分割出车道线包括:
将每一个掩码图转换成单通道灰度图;
将所述单通道灰度图中的像素值小于预设阈值的像素点的像素值设置为零,得到新的单通道灰度图;
将所有新的单通道灰度图进行通道拼接;
对通道拼接后的灰度图进行非极大值抑制得到车道线分割图像。
该可选的实施例中,第一目标特征图中有P个非零像素点,则生成P个第二目标特征图,得到P个掩码图。通过多层上采样层对每一个第二目标特征图进行采样得到的掩码图为三通道,将三通道的掩码图转换为灰度图。
单通道灰度图中某个像素点的像素值小于预设阈值时,表明该像素点对应的对象的特征不够充分,对于对象的分割起不到实际意义,因而通过阈值分割将像素值小于预设阈值的像素点设置为零,实现了对这一类像素点的过滤。最后经过多通道的拼接融合形成一个完整的车道线分割图像。完整的车道线分割图像中,每个通道代表一条车道的掩码。
进一步的,为了避免同一个车道线分割图像上的某一个点代表两个不同的对象,则需要对通道拼接后的灰度图进行非极大值抑制。具体实施时,比较同一个点的两个不同的像素值,保留像素值大的灰度图,去掉像素值小的灰度图。
本实施例中,通过对车道线检测模型进行改进,训练出参数共享的车道线检测模型,能够减少车道线检测模型的训练时间,且由于参数共享,能够提高车道线检测模型的鲁棒性,从而提高车道线图像的分割准确率。再通过对车道线检测模型得到的特征图进行非极大抑制计算,降低了噪声和非车道线的对象对车道线的影响,进一步提高了车道线图像的分割准确率。
需要强调的是,为进一步保证车道线检测模型的私密和安全性,上述车道线检测模型还可以存储于一区块链的节点中。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,本发明还可用于智慧交通领域,通过本发明对车道线的自动且高准确度的检测,能够推动智慧城市的建设,推动无人驾驶车辆的发展与应用。
参阅图3所示,为本发明实施例三提供的终端的结构示意图。在本发明较佳实施例中,所述终端3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的终端的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述终端3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述终端3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述终端3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述终端3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31中存储有计算机程序,且所述至少一个处理器32可调用所述存储器31中存储的计算机程序以执行相关的功能。例如,上述实施例中所述的各个模块是存储在所述存储器31中的计算机程序,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32是所述终端3的控制核心(ControlUnit),利用各种接口和线路连接整个终端3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行终端3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的方法的全部或者部分步骤。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述终端3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述终端3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
结合图1,所述终端3中的所述存储器31存储多个指令以实现一种基于深度学习的车道线检测方法,所述处理器32可执行所述多个指令从而实现:
基于构建的训练数据集训练参数共享的车道线检测模型;
获取车道线图像并将所述车道线图像输入至所述车道线检测模型中进行特征提取;
获取所述车道线检测模型的最后一层下采样层输出的特征图;
对所述特征图进行局部非极大抑制计算得到第一目标特征图;
根据所述第一目标特征图生成第二目标特征图;
通过所述车道线检测模型的上采样层对所述第二目标特征图进行分割得到掩码图;
根据所述掩码图分割出车道线。
具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在图3所描述的终端3中,通过对车道线检测模型进行改进,训练出参数共享的车道线检测模型,能够减少车道线检测模型的训练时间,且由于参数共享,能够提高车道线检测模型的鲁棒性,从而提高车道线图像的分割准确率。再通过对车道线检测模型得到的特征图进行非极大抑制计算,降低了噪声和非车道线的对象对车道线的影响,进一步提高了车道线图像的分割准确率。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。