本申请涉及智能驾驶技术领域,尤其涉及一种辅助驾驶的处理方法、装置、设备及存储介质。
背景技术:
高级驾驶辅助系统(advanceddrivingassistantsystem,adas),是利用安装在车辆上的各式各样传感器,在车辆行驶过程中随时来感应周围的环境,收集数据,进行静态、动态物体的辨识、侦测与追踪,并结合导航仪地图数据,进行系统的运算与分析,从而预先让驾驶者察觉到可能发生的危险,有效增加汽车驾驶的舒适性和安全性。adas通常包含两个功能,即车道偏离预警(lanedeparturewarning,ldw)和前方碰撞预警(forwardcollisionwarning,fcw),这两个功能的实现需要基于实时准确的障碍物检测和车道线检测。
现有技术中,障碍物检测通常通过检测网络实现,车道线检测采用像素分割网络实现,采用两个网络资源消耗较高。
技术实现要素:
本申请提供一种辅助驾驶的处理方法、装置、设备及存储介质,以解决现有技术资源消耗较高等缺陷。
本申请第一个方面提供一种辅助驾驶的处理方法,包括:
获取待检测图像;
基于所述待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果;
基于所述车道线检测结果和所述障碍物检测结果,进行相应的辅助驾驶处理。
本申请第二个方面提供一种辅助驾驶的处理装置,包括:
获取模块,用于获取待检测图像;
检测模块,用于基于所述待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果;
处理模块,用于基于所述车道线检测结果和所述障碍物检测结果,进行相应的辅助驾驶处理。
本申请第三个方面提供一种计算机设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。
本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。
本申请提供的辅助驾驶的处理方法、装置、设备及存储介质,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的辅助驾驶的处理方法的流程示意图;
图2为本申请一实施例提供的深度学习联合检测模型的网络结构示意图;
图3为本申请另一实施例提供的一种辅助驾驶的处理方法的流程示意图;
图4为本申请另一实施例提供的另一种辅助驾驶的处理方法的流程示意图;
图5为本申请一实施例提供的基于fpga的辅助驾驶的处理方法的流程示意图;
图6为本申请一实施例提供的辅助驾驶的处理装置的结构示意图;
图7为本申请一实施例提供的计算机设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
深度学习:深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
归一化:图像归一化是指对图像进行了一系列标准的处理变换,使之变换为一固定标准形式的过程,该标准图像称作归一化图像。
本申请实施例提供的辅助驾驶的处理方法,适用于车辆的高级辅助驾驶系统,用于在车辆行驶过程中,进行辅助驾驶,及时提醒驾驶人员,提高驾驶安全性。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
本实施例提供一种辅助驾驶的处理方法,用于车辆的辅助驾驶。本实施例的执行主体为辅助驾驶的处理装置,该装置可以设置在车辆上。
如图1所示,为本实施例提供的辅助驾驶的处理方法的流程示意图,该方法包括:
步骤101,获取待检测图像。
具体的,车辆上设置有感知环境的各种传感器,比如摄像头,在车辆行驶过程中,可以实时采集车辆周围的环境信息,比如车道信息、前方障碍物信息等,获得采集的原始图像,可以对原始图像进行预处理,获得待检测图像。比如进行归一化处理,具体的预处理为现有技术,本实施例不做限定。
步骤102,基于待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果。
具体的,在获取到待检测图像后,则可以基于待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果。
其中,深度学习联合检测模型是基于深度学习,将车道线检测和障碍物检测结合到一个卷积神经网络中,并采用训练数据进行训练获得的能够同时检测车道线和障碍物的联合检测模型。
可选地,如图2所示,为本实施例提供的深度学习联合检测模型的网络结构示意图。该深度学习联合检测模型可以包括共用部分、车道线检测分支和障碍物检测分支。其中,共用部分用于根据待检测图像,确定深度学习特征图;车道线检测分支用于,根据深度学习特征图,确定车道线检测结果;障碍物检测分支用于,根据深度学习特征图,确定障碍物检测结果。
具体的,共用部分可以包括输入层、卷积层和池化层,具体卷积层的数量和池化层的数量可以根据实际需求设置,比如可以设置为卷积层-卷积层-池化层-卷积层-卷积层-池化层,也即可以设置6层。当然还可以根据实际情况设置其他的层数。对于各卷积层的具体参数,比如卷积核的空间大小及卷积后得到的输出的深度可以根据实际需求设置,在此不再赘述。
车道线检测分支可以包括一层或多层卷积层,比如可以包括10层卷积层,通过下采样(对于一个样值序列间隔几个样值取样一次,这样得到新序列就是原序列的下采样)方式,在不同大小的特征图下进行车道线像素点检测。具体层数可以根据实际需求设置,优选地,可以设置3至10层。
障碍物检测分支可以采用ssd(singleshotmultiboxdetector,单点多盒检测器,是一种直接预测目标类别和boundingbox的多目标检测算法)网络结构,具体不再陈述。
车道线检测结果包括车道线的掩膜mask,或者各像素点的位置分类。具体来说,可以预先设置位置得分阈值,根据每个像素点的位置得分,确定各像素点的位置分类,位置分类可以包括“左1”(距离当前车辆最近的左边车道线)、“右1”(距离当前车辆最近的右边车道线)、“左2”(距离当前车辆次近的左边车道线)、“右2”(距离当前车辆次近的右边车道线)、“其他”(当前车道的左右路沿)和“中”(变道时正在跨越的车道线),等等。这里只是示例性的说明,随着实际情况的不断地发展,还可以根据实际情况设置更多位置种类,本实施例不做限定。比如随着道路的不断拓宽,还可以有“左3”、“右3”等等。
障碍物的检测结果包括一个或多个障碍物坐标区域,及各障碍物坐标区域对应的障碍物类型,障碍物类型可以根据实际需求进行设置,比如可以包括汽车、巴士、三轮车、自行车、行人等等。
需要说明的是,对于车道线检测分支和障碍物检测分支,各有对应的损失函数,在实际应用中,在联合加权时,两分支的损失函数的权重比不同,具体可以根据实际需求设置,在此不做限定。
可以理解地,在深度学习联合检测模型用于实际预测前,需要进行训练。可以预先进行数据采集,并进行数据标注,获得车道线和障碍物的训练集和验证集,深度学习联合检测模型的训练策略是:先训练共用部分和障碍物检测分支(即将共用部分只与障碍物检测分支连接,进行训练),然后固定共用部分,训练车道线检测分支(即将固定好的共用部分与车道线检测分支连接,来训练车道线检测分支),最后将两个分支合并(即将共用部分分别与障碍物检测分支和车道线检测分支连接),进行联合调优。当然,对于不同部分的训练,采用的训练数据可能不同,比如障碍物检测分支的训练,采用障碍物训练图像和对应的障碍物标注数据,对于车道线检测分支,采用车道线训练图像和对应的车道线标注数据,对于联合调优,采用联合图像及对应的障碍物和车道线标注数据。
可选地,在训练时,也可以根据实际需求,先训练车道线检测分支,固定共用部分,再训练障碍物检测分支,本实施例不做限定。
步骤103,基于车道线检测结果和障碍物检测结果,进行相应的辅助驾驶处理。
具体的,在获得了车道线检测结果和障碍物检测结果之后,则可以基于车道线检测结果和障碍物检测结果,进行相应的辅助驾驶处理。
可选地,可以基于车道线检测结果,确定当前车辆与左右车道线的距离,当距离小于预设距离阈值时,可以判断车辆是否打开了相应的转向灯,若打开了,可以认为驾驶人员可能要变道,若没打开,则需要进行告警,提示驾驶人员。
可选地,可以基于障碍物检测结果,确定车辆与障碍物的碰撞时间,若碰撞时间小于预设时间阈值时,可以确定车辆有碰撞风险,需要进行告警,提示驾驶人员采取相应的避障措施,比如刹车、变道等。
本实施例提供的辅助驾驶的处理方法,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。
实施例二
本实施例对实施例一提供的方法做进一步补充说明。
如图3所示,为本实施例提供的一种辅助驾驶的处理方法的流程示意图。
作为一种可实施的方式,在上述实施例一的基础上,可选地,步骤101具体包括:
步骤1011,获取摄像头采集的原始图像。
步骤1012,对原始图像进行预处理,获得待检测图像。
具体的,车辆上设置有感知环境的各种传感器,比如摄像头,在车辆行驶过程中,可以实时采集车辆周围的环境信息,比如车道信息、前方障碍物信息等,获得采集的原始图像。在获取到原始图像后,可以对原始图像进行预处理,获得待检测图像。比如进行归一化处理,具体的预处理为现有技术,本实施例不做限定。
作为另一种可实施的方式,在上述实施例一的基础上,可选地,深度学习联合检测模型包括共用部分、车道线检测分支和障碍物检测分支;
其中,共用部分用于根据待检测图像,确定深度学习特征图;
车道线检测分支用于,根据深度学习特征图,确定车道线检测结果;
障碍物检测分支用于,根据深度学习特征图,确定障碍物检测结果。
具体的,深度学习联合检测模型是基于深度学习,将车道线检测和障碍物检测结合到一个卷积神经网络中,并采用训练数据进行训练获得的能够同时检测车道线和障碍物的联合检测模型。该深度学习联合检测模型可以包括共用部分、车道线检测分支和障碍物检测分支。其中,共用部分用于根据待检测图像,确定深度学习特征图;车道线检测分支用于,根据深度学习特征图,确定车道线检测结果;障碍物检测分支用于,根据深度学习特征图,确定障碍物检测结果。
具体的,共用部分可以包括输入层、卷积层和池化层,具体卷积层的数量和池化层的数量可以根据实际需求设置,比如可以设置为卷积层-卷积层-池化层-卷积层-卷积层-池化层,也即可以设置6层。当然还可以根据实际情况设置其他的层数。对于各卷积层的具体参数,比如卷积核的空间大小及卷积后得到的输出的深度可以根据实际需求设置,在此不再赘述。
车道线检测分支可以包括一层或多层卷积层,比如可以包括10层卷积层,通过下采样(对于一个样值序列间隔几个样值取样一次,这样得到新序列就是原序列的下采样)方式,在不同大小的特征图下进行车道线像素点检测。具体层数可以根据实际需求设置,优选地,可以设置3至10层。
可选地,对于车道线检测分支,可以根据实际需求,将其中部分卷积层采用空洞卷积。具体可以根据实际需求进行设置,本实施例不做限定。
障碍物检测分支可以采用ssd(singleshotmultiboxdetector,单点多盒检测器,是一种直接预测目标类别和boundingbox的多目标检测算法)网络结构,具体不再陈述。
作为另一种可实施的方式,在上述实施例一的基础上,可选地,在步骤102之前,该方法还包括:
步骤2011,获取第一训练数据,第一训练数据包括障碍物检测训练集及障碍物标注数据。
步骤2012,基于第一训练数据训练共用部分和障碍物检测分支。
步骤2013,获取第二训练数据,第二训练数据包括车道线检测训练集及车道线标注数据。
步骤2014,固定共用部分,基于第二训练数据训练车道线检测分支。
步骤2015,获取第三训练数据,第三训练数据包括联合检测训练集,以及对应的障碍物标注数据和车道线标注数据。
步骤2016,基于第三训练数据,对共用部分、障碍物检测分支和车道线检测分支进行联合调优处理,获得深度学习联合检测模型。
具体的,在深度学习联合检测模型用于实际预测前,需要进行训练。可以预先进行数据采集,并进行数据标注,获得车道线和障碍物的训练集和验证集,深度学习联合检测模型的训练策略是:先训练共用部分和障碍物检测分支(即将共用部分只与障碍物检测分支连接,进行训练),然后固定共用部分,训练车道线检测分支(即将固定好的共用部分与车道线检测分支连接,来训练车道线检测分支),最后将两个分支合并(即将共用部分分别与障碍物检测分支和车道线检测分支连接),进行联合调优。当然,对于不同部分的训练,采用的训练数据可能不同,比如障碍物检测分支的训练,采用障碍物训练图像(即障碍物检测训练集)和对应的障碍物标注数据,也即第一训练数据;对于车道线检测分支,采用车道线训练图像(即车道线检测训练集)和对应的车道线标注数据,也即第二训练数据;对于联合调优,采用联合图像(及联合检测训练集)及对应的障碍物和车道线标注数据,也即第三训练数据。
其中,数据采集,可以通过在轻卡上安装摄像头,每天在城市道路、高速道路等道路上行驶采集数据,可以采集各种天气状况下的大量的图像数据,以更好地训练检测模型。
对于数据标注,可以定义车道线和障碍物的标注标准,然后组织标注人员按照标注标准进行标注,标注出车道线的关键点和障碍物的边缘框等,获得车道线标注数据和障碍物标注数据,在标注基础上,生成车道线检测、障碍物检测及联合调优的训练集和验证集。
作为另一种可实施的方式,在上述实施例一的基础上,可选地,基于车道线检测结果和障碍物检测结果,进行相应的辅助驾驶处理,包括:
步骤1031,根据车道线检测结果和障碍物检测结果,确定是否需要进行告警。
步骤1032,若是,则进行告警处理。
可选地,根据车道线检测结果和障碍物检测结果,确定是否需要进行告警,包括:
根据车道线检测结果,确定车辆与左车道线及右车道线的距离,若车辆距左车道线或右车道线的距离小于预设距离阈值,且未打相应的转向灯,则确定需要进行告警。
具体的,在确定了车道线检测结果后,则可以根据检测的车道线的位置与当前车辆的位置,确定左右车道与左右车轮的距离,若车辆左车轮与左车道线或者右车轮与右车道线的距离小于预设距离阈值,则可以检测车辆是否打开了相应方向的转向灯,若打开了,可以认为驾驶人员可能要变道,可以不进行告警,若没打开,则需要进行告警,提示驾驶人员不要偏离车道。
可选地,由于摄像头前方近距离视野盲区,所以在确定车辆与左右车道的距离时,需要对车道线的检测结果进行后处理,拟合出车道线并延伸至车辆自身,计算出左右车轮距离左右两侧车道线的距离。其中,后处理可以包括对各个类别的车道线像素点进行拟合,及剔除离群点等处理,具体的后处理方式为现有技术,在此不再赘述。
具体告警的方式可以根据实际需求设置,比如,可以语音告警,可以警示音结合屏幕显示信息告警等。举例来说,当判断车辆与左车道线的距离小于阈值,且车辆并未打左转向灯时,可以发出语音告警“车辆向左偏离车道,请注意”。这里只是示例性说明,具体告警内容可以根据判断结果设置不同的内容。
可选地,根据车道线检测结果和障碍物检测结果,确定是否需要进行告警,包括:
根据障碍物检测结果,确定障碍物碰撞时间,若障碍物碰撞时间小于预设时间阈值,则确定需要进行告警。
具体的,可以根据障碍物检测结果,来确定障碍物碰撞时间,若碰撞时间小于预设时间阈值时,可以确定车辆有碰撞风险,需要进行告警,提示驾驶人员采取相应的避障措施,比如刹车、变道等。
可选地,根据障碍物检测结果,确定障碍物碰撞时间,包括:
步骤2031,获取深度学习联合检测模型的共用部分获得的深度学习特征图及待检测图像的hsv颜色特征。
步骤2032,根据障碍物检测结果、深度学习特征图及hsv颜色特征,获得当前帧的障碍物特征图,并与前一帧的障碍物特征图进行障碍物匹配,获得障碍物匹配结果;
步骤2033,根据障碍物匹配结果,确定障碍物碰撞时间。
具体的,在采用深度学习联合检测模型进行车道线检测和障碍物检测时,可以获取输入的当前帧的待检测图像的hsv(hue,saturation,value,色调,饱和度,明度)颜色特征以及共用部分获取到的每一帧深度学习特征图,在获取到当前帧的障碍物检测结果后,可以根据障碍物检测结果、深度学习特征图及hsv颜色特征,获得当前帧的障碍物特征图,并与前一帧的障碍物特征图进行障碍物匹配,获得障碍物匹配结果,根据障碍物匹配结果,确定障碍物碰撞时间。其中,前一帧的障碍物特征图可以为前一帧检测时获得并存储的。障碍物匹配是指对当前帧和前一帧的每一个障碍物,进行特征相似度计算,将相似度作为两两之间的权重来构建二分图,求解二分图最佳匹配,也即采用匈牙利算法进行障碍物匹配。计算车辆相对于每一个障碍物的距离和相对速度,进而计算出车辆相对于每个障碍物的碰撞时间。
这里的障碍物特征图可以根据障碍物检测结果的障碍物区域坐标从深度学习特征图中相应的位置区域获取,利用了网络的中间结果,无需额外的特征计算过程。
根据障碍物检测结果、深度学习特征图及hsv颜色特征,获得当前帧的障碍物特征图,并与前一帧的障碍物特征图进行障碍物匹配的具体方式为现有技术,在此不再赘述。
示例性的,如图4所示,为本实施例提供的另一种辅助驾驶的处理方法的流程示意图。其中,图像输入输入的是待检测图像,共用部分即为深度学习联合检测模型的共用部分,深度学习特征图即共用部分获得的深度学习特征图。结果可以为根据车道线检测结果和障碍物匹配结果,确定的是否需要告警处理的结果。
通过结合共用部分获得的深度学习特征图,和待检测图像的hsv颜色特征,采用匈牙利算法进行障碍物匹配,利用了检测模型的中间结果,不需要额外的特征计算,有效提高了匹配速度,增强了对于遮挡和光线的鲁棒性。
在一些实施例中,可选地,在基于待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果之前,该方法还包括:
对深度学习联合检测模型进行定点数量化处理,获得量化后的模型。
基于fpga深度学习加速器dla运行量化后的模型。
相应的,基于待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果,包括:
将待检测图像输入dla,获得车道线检测结果和障碍物检测结果。
具体的,基于fpga来实现深度学习联合检测模型,提高检测速度,保证在满足实时性的前提下提高检测准确率。
其中,对深度学习联合检测模型进行定点数量化处理具体可以是将原网络前向传播过程中的运算数,由32-bit浮点数,量化为8-bit位宽的定点数。可以用大量(比如十万多张)图像来做为模型量化的样本集,对网络每一层输入、输出、权重,用kullback-leiblerdivergence(kl-divergence,kl-散度)算法计算出小数位数,从而实现模型定点化。
kldivergence是从信息论的角度来衡量两个概率分布的差异,用来度量使用基于q分布的编码来编码来自p分布的样本平均所需的额外的bit个数。其在机器学习领域的物理意义则是用来度量两个函数的相似程度或者相近程度,在泛函分析中也被频繁地用到。
基于p的分布去编码来自p的样本,其最优编码平均所需要的bit个数(即这个字符集的熵)为:
其中p(x)是随机变量x上的p概率分布,x是字符集,对x∈x,其出现概率为p(x),
用基于p的分布去编码来自q的样本,则所需要的bit个数变为:
其中,q(x)是随机变量x上的q概率分布。
由以上两式,我们即可得出p与q的kldivergence:
由公式可以看出,两个分布的差异,差异越大,kldivergence越大。32-bit浮点数相当于最优编码,8-bit定点数相当于次优编码,我们用kldivergence来描述这两种编码之间的差异。
模型定点化后,会有不到一个点的精度损失,但是模型大小变为原先的四分之一,fpga资源消耗也变为原来的四分之一,运算性能有接近四倍的提升。
在进行模型量化后,采用fpga深度学习加速器dla来实现模型,具体用于实现深度学习联合检测模型的前向传播过程,支持卷积、池化polling,激活函数relu等通用算子。比如,可以采用片上系统soc,将fpga作为arm的外设来使用的,将fpga设计成dla。可以进行8bit定点运算,数据缓存和卷积计算阵列异步进行,多行多通道并行计算。可以设置相应的网络调度器,从ram获取网络配置参数,并负责整个网络的所有层的参数配置,分支计算顺序,还可以设置组调度器负责每一层的计算。还可以设置输入缓冲区管道、输出缓冲区管道,其中,输入缓冲区管道可以负责三种数据流的规整和控制,即输入特征图、权重、偏置项。所有数据分发命令字和数据读回缓存处理过程可以是完全分开的,用以提高axi(advancedextensibleinterface,高性能协议)的outstandingburst长度。输出缓冲区管道负责输出特征图的格式化排列和对齐,可以根据输出特征图的位置信息生成两种格式的地址,随后将同一份数据分别写入不同地址。
示例性的,如图5所示,为本实施例提供的基于fpga的辅助驾驶的处理方法的流程示意图。将障碍物、车道线的联合检测模型,及fpgadla实现,应用到adas中,该方法具体可以包括:
1)读取摄像头输入的原始图像,并对原始图像做预处理,获得待检测图像。
2)将待检测图像作为联合检测网络的输入,送入dla,得到障碍物检测结果和车道线检测结果。
3)基于当前帧的障碍物特征图,和前一帧的障碍物特征图进行障碍物匹配。
具体为:当前帧和前一帧的每一个障碍物,计算特征相似度,将相似度作为两两之间的权重,来构建图(graph),求解二分图最佳匹配,计算车辆相对于每一个障碍物的距离和相对速度,进而计算出碰撞时间,假如小于阈值,播放语音告警,从而提醒驾驶员降低车速。
4)由于摄像头前方近距离视野盲区,所以需要对车道线的检测结果进行后处理(后处理包含对各个类别的车道线像素点拟合直线,及剔除离群点),拟合出车道线并延伸至自身车辆,计算出左、右车轮距离左、右两侧车道线的距离,假如小于阈值并且没有开启对应的转向灯,则播放语音告警,提示驾驶员不要偏离车道。
5)在车辆行驶过程中,循环执行1)-4)
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
本实施例提供的辅助驾驶的处理方法,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。并且通过结合共用部分获得的深度学习特征图,和待检测图像的hsv颜色特征,采用匈牙利算法进行障碍物匹配,利用了检测模型的中间结果,不需要额外的特征计算,有效提高了匹配速度,增强了对于遮挡和光线的鲁棒性。还采用fpga深度学习加速器dla来实现模型,将fpga作为arm的外设来使用的,将fpga设计成dla,可以进行8bit定点运算,数据缓存和卷积计算阵列异步进行,多行多通道并行计算,提高检测速度,保证在满足实时性的前提下提高检测准确率。
实施例三
本实施例提供一种辅助驾驶的处理装置,用于执行上述实施例一的方法。
如图6所示,为本实施例提供的辅助驾驶的处理装置的结构示意图。该辅助驾驶的处理装置30包括获取模块31、检测模块32和处理模块33。
其中,获取模块,用于获取待检测图像;检测模块,用于基于待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果;处理模块,用于基于车道线检测结果和障碍物检测结果,进行相应的辅助驾驶处理。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本实施例提供的辅助驾驶的处理装置,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。
实施例四
本实施例对上述实施例三提供的装置做进一步补充说明。
作为一种可实施的方式,在上述实施例三的基础上,可选地,获取模块,具体用于:
获取摄像头采集的原始图像;
对原始图像进行预处理,获得待检测图像。
作为另一种可实施的方式,在上述实施例三的基础上,可选地,深度学习联合检测模型包括共用部分、车道线检测分支和障碍物检测分支;
其中,共用部分用于根据待检测图像,确定深度学习特征图;
车道线检测分支用于,根据深度学习特征图,确定车道线检测结果;
障碍物检测分支用于,根据深度学习特征图,确定障碍物检测结果。
作为另一种可实施的方式,在上述实施例三的基础上,可选地,获取模块,还用于获取第一训练数据,第一训练数据包括障碍物检测训练集及障碍物标注数据;
检测模块,还用于基于第一训练数据训练共用部分和障碍物检测分支;
获取模块,还用于获取第二训练数据,第二训练数据包括车道线检测训练集及车道线标注数据;
检测模块,还用于固定共用部分,基于第二训练数据训练车道线检测分支;
获取模块,还用于获取第三训练数据,第三训练数据包括联合检测训练集,以及对应的障碍物标注数据和车道线标注数据;
检测模块,还用于基于第三训练数据,对共用部分、障碍物检测分支和车道线检测分支进行联合调优处理,获得深度学习联合检测模型。
作为一种可实施的方式,在上述实施例三的基础上,可选地,处理模块,具体用于:
根据车道线检测结果和障碍物检测结果,确定是否需要进行告警,若是,则进行告警处理。
可选地,处理模块,具体用于:
根据车道线检测结果,确定车辆与左车道线及右车道线的距离,若车辆距左车道线或右车道线的距离小于预设距离阈值,且未打相应的转向灯,则确定需要进行告警;
根据障碍物检测结果,确定障碍物碰撞时间,若障碍物碰撞时间小于预设时间阈值,则确定需要进行告警。
可选地,处理模块,具体用于:
获取深度学习联合检测模型的共用部分获得的深度学习特征图及待检测图像的hsv颜色特征;
根据障碍物检测结果、深度学习特征图及hsv颜色特征,获得当前帧的障碍物特征图,并与前一帧的障碍物特征图进行障碍物匹配,获得障碍物匹配结果;
根据障碍物匹配结果,确定障碍物碰撞时间。
作为一种可实施的方式,在上述实施例三的基础上,可选地,处理模块,还用于:
对深度学习联合检测模型进行定点数量化处理,获得量化后的模型;
基于fpga深度学习加速器dla运行量化后的模型;
相应的,基于待检测图像,采用预先训练好的车道线和障碍物的深度学习联合检测模型,确定车道线检测结果和障碍物检测结果,包括:
将待检测图像输入dla,获得车道线检测结果和障碍物检测结果。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
根据本实施例的辅助驾驶的处理装置,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。并且通过结合共用部分获得的深度学习特征图,和待检测图像的hsv颜色特征,采用匈牙利算法进行障碍物匹配,利用了检测模型的中间结果,不需要额外的特征计算,有效提高了匹配速度,增强了对于遮挡和光线的鲁棒性。还采用fpga深度学习加速器dla来实现模型,将fpga作为arm的外设来使用的,将fpga设计成dla,可以进行8bit定点运算,数据缓存和卷积计算阵列异步进行,多行多通道并行计算,提高检测速度,保证在满足实时性的前提下提高检测准确率。
实施例五
本实施例提供一种计算机设备,用于执行上述实施例提供的方法。
如图7所示,为本实施例提供的计算机设备的结构示意图。该计算机设备50包括:至少一个处理器51和存储器52;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的方法。
根据本实施例的计算机设备,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。并且通过结合共用部分获得的深度学习特征图,和待检测图像的hsv颜色特征,采用匈牙利算法进行障碍物匹配,利用了检测模型的中间结果,不需要额外的特征计算,有效提高了匹配速度,增强了对于遮挡和光线的鲁棒性。还采用fpga深度学习加速器dla来实现模型,将fpga作为arm的外设来使用的,将fpga设计成dla,可以进行8bit定点运算,数据缓存和卷积计算阵列异步进行,多行多通道并行计算,提高检测速度,保证在满足实时性的前提下提高检测准确率。。
实施例六
本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的方法。
根据本实施例的计算机可读存储介质,通过采用深度学习联合检测模型来同时获得车道线检测结果和障碍物检测结果,将两个检测任务整合到一个卷积神经网络得以解决,可有效减少对系统资源的消耗,降低系统延迟,从而提高辅助驾驶的实时性,并且两任务联合检测,增强了网络的容纳能力和适应性,提升检测准确率,降低系统的误报率和漏报率。并且通过结合共用部分获得的深度学习特征图,和待检测图像的hsv颜色特征,采用匈牙利算法进行障碍物匹配,利用了检测模型的中间结果,不需要额外的特征计算,有效提高了匹配速度,增强了对于遮挡和光线的鲁棒性。还采用fpga深度学习加速器dla来实现模型,将fpga作为arm的外设来使用的,将fpga设计成dla,可以进行8bit定点运算,数据缓存和卷积计算阵列异步进行,多行多通道并行计算,提高检测速度,保证在满足实时性的前提下提高检测准确率。
在一些实施例中,还提供一种计算机程序产品,该计算机程序产品包括存储在计算机可读存储介质上的计算机程序,该计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一实施例提供的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。