本申请涉及自动驾驶技术领域,特别是涉及一种自动驾驶的视觉感知方法、装置、计算机设备和存储介质。
背景技术:
随着计算机软硬件能力的不断提升,以及各种传感器精度的普遍提升,自动驾驶技术成为一个重要的研究领域,受到了学术界和工业界广泛的关注。自动驾驶系统主要可以分为感知层、决策层和控制层三个层次。其中,感知层是这三个模块层的基础,用来完成对车辆周围环境的感知识别。而感知层需要用到各种类型的感知技术协同工作,例如摄像头、毫米波雷达、激光雷达、超声波雷达、红外夜视以及用于定位和导航的gps(globalpositionsystem,全球定位系统)和imu(inertialmeasurementunit,惯性测量单元)等传感器。另外还有一类虽然不是主动式的探测元件,但是属于协同式的全局数据辅助可以扩展车辆的环境感知能力,例如高精度地图和车联网技术等。每种类型的感知技术通过相互补充融合,最终使得车辆达到驾驶场景下非常高的安全性要求。
近几年,随着深度学习技术的快速发展,使得计算机视觉领域的很多传统任务的精度能够得到大幅度的提升。加之摄像头价格的低廉以及其能够弥补一些其他传感器无法完成的工作的综合优势,让基于视觉的感知算法得到了广泛的研究和应用,并在自动驾驶和辅助驾驶领域真正落地使用。然而,由于现有的视觉感知算法均是基于传统特征提取的方式进行,其不能适应真实环境中复杂的工况,从而降低了视觉感知的精度。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高视觉感知精度的自动驾驶的视觉感知方法、装置、计算机设备和存储介质。
一种自动驾驶的视觉感知方法,所述方法包括:
获取采集的视觉感知图像;
将所述视觉感知图像输入训练好的多任务神经网络的主干网络,通过所述主干网络提取所述视觉感知图像的共享特征,得到共享特征图;
将所述共享特征图分别输入所述多任务神经网络中的各分支网络,各所述分支网络基于所述共享特征图分别进行对应的任务的分类,输出相应任务的分类结果;
根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,所述视觉感知结果包括车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息中的至少一种。
在其中一个实施例中,所述分支网络包括车道线检测网络、车道线实例分割网络和线型分类网络;
所述将所述共享特征图分别输入所述多任务神经网络中的各分支网络,各所述分支网络基于所述共享特征图分别进行对应的任务的分类,输出相应任务的分类结果,包括:
将所述共享特征图输入所述车道线检测网络,通过所述车道线检测网络基于所述共享特征图进行车道线检测,得到二进制车道线图像;
将所述共享特征图输入所述车道线实例分割网络,通过所述车道线实例分割网络基于所述共享特征图进行车道线实例分割,得到车道线实例分割图像;
将所述共享特征图输入所述线型分类网络,通过所述线型分类网络基于所述共享特征图进行车道线线型分类,得到车道线线型图像。
在其中一个实施例中,所述根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,包括:
根据预设视觉感知目标从所述分类结果中提取得到二进制车道线图像、车道线实例分割图像和车道线线型图像;
将所述车道线实例分割图像对应的图像矩阵进行聚类,得到车道线实例聚类图像;
根据所述车道线实例聚类图像和所述车道线线型图像,对所述二进制车道线图像进行实例分类和线型分类,得到车道线图像;
对所述车道线图像中各车道线进行曲线拟合,并计算各所述车道线对应的车道线像素点的平均置信度,得到车道线信息。
在其中一个实施例中,所述分支网络包括路面标志分类网络;
所述将所述共享特征图分别输入所述多任务神经网络中的各分支网络,各所述分支网络基于所述共享特征图分别进行对应的任务的分类,输出相应任务的分类结果,包括:
将所述共享特征图输入所述路面标志分类网络,通过所述路面标志分类网络基于所述共享特征图进行路面标志的检测分类,得到路面标志分类图像。
在其中一个实施例中,所述根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,包括:
根据预设视觉感知目标从所述分类结果中提取得到路面标志分类图像;
从所述路面标志分类图像中提取得到各路面标志对应的路面标志图像;
分别将各所述路面标志图像进行椭圆拟合,并计算各所述路面标志图像对应像素点的平均置信度,得到路面标志信息。
在其中一个实施例中,所述分支网络包括通行区域检测网络和车辆行人实例分割网络;
所述将所述共享特征图分别输入所述多任务神经网络中的各分支网络,各所述分支网络基于所述共享特征图分别进行对应的任务分类,输出相应任务的分类结果,包括:
将所述共享特征图输入通行区域检测网络,通过所述通行区域检测网络基于所述共享特征图进行区域检测,得到区域分类图像;
将所述共享特征图输入车辆行人实例分割网络,通过所述车辆行人实例分割网络基于所述共享特征图进行车辆行人的实例分割,得到车辆行人实例分割图像。
在其中一个实施例中,所述根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,包括下述至少一项:
第一项:
根据预设视觉感知目标从所述分类结果中提取得到区域分类图像;
从所述区域分类图像中提取得到可通行区域图像和路沿图像,并获取第一需求;
根据所述第一需求对所述可通行区域图像和路沿图像进行参数化,并分别计算所述可通行区域图像对应像素点的平均置信度和所述路沿图像对应像素点的平均置信度,得到通行区域路况信息;
第二项:
根据预设视觉感知目标从所述分类结果中提取得到区域分类图像和车辆行人实例分割图像;
从所述区域分类图像中提取得到车辆图像和行人图像;
对所述车辆行人实例分割图像对应的图像矩阵进行聚类,得到车辆行人实例聚类图像;
根据所述车辆行人实例聚类图像对所述车辆图像和行人图像进行实例分类,得到车辆实例图像和行人实例图像;
将所述车辆实例图像和所述行人实例图像分别进行矩阵拟合,并分别计算所述车辆实例图像对应像素点的平均置信度和所述行人实例图像对应像素点的平均置信度,得到通行区域路况信息;
第三项:
根据预设视觉感知目标从所述分类结果中提取得到区域分类图像;
从所述区域分类图像中提取得到交通标志图像;
对所述交通标志图像进行矩形拟合,并计算所述交通标志图像对应像素点的平均置信度,得到通行区域路况信息。
在其中一个实施例中,所述分支网络包括路面障碍物分类网络;
所述将所述共享特征图分别输入所述多任务神经网络中各分支网络,各所述分支网络基于所述共享特征图分别进行对应的任务分类,输出相应任务的分类结果,包括:
将所述共享特征图输入所述路面障碍物分类网络,通过所述路面障碍物分类网络基于所述共享特征图进行障碍物的检测分类,得到障碍物分类图像。
在其中一个实施例中,所述根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,包括:
根据预设视觉感知目标从所述分类结果中提取得到障碍物分类图像;
从所述障碍物分类图像中提取得到各障碍物对应的障碍物图像,并获取第二需求;
根据所述第二需求对所述障碍物图像进行参数化,并计算各所述障碍物图像对应像素点的平均置信度,得到路面障碍物信息。
在其中一个实施例中,所述方法还包括:
获取训练数据集;所述训练数据集包括与各所述分支网络对应的多类训练样本以及各所述训练样本的标注结果;
调用所述多任务神经网络中各所述分支网络对应的数据加载器,所述数据加载器从所述训练数据集中获取各所述分支网络对应的训练样本以及所述训练样本的标注结果;
将各所述训练样本输入至待训练多任务神经网络的待训练主干网络,通过所述待训练主干网络提取所述训练样本的共享特征,得到共享样本特征图;
将所述共享样本特征图分别输入对应的所述待训练多任务神经网络中的各待训练分支网络,各所述待训练分支网络基于所述共享样本特征图分别进行对应的任务的分类,输出相应任务的训练分类结果;
根据所述训练分类结果与所述训练样本的标注结果,确定各所述分支网络的损失函数;
将各所述损失函数进行线性叠加,得到全局损失函数;
根据所述全局损失函数对得到所述训练分类结果的所述多任务神经网络进行反向传播,迭代训练,得到训练好的多任务神经网络。
一种自动驾驶的视觉感知装置,所述装置包括:
获取模块,用于获取采集的视觉感知图像;
提取模块,用于将所述视觉感知图像输入训练好的多任务神经网络的主干网络,通过所述主干网络提取所述视觉感知图像的共享特征,得到共享特征图;
分类模块,用于将所述共享特征图分别输入所述多任务神经网络中的各分支网络,各所述分支网络基于所述共享特征图分别进行对应的任务的分类,输出相应任务的分类结果;
融合模块,用于根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,所述视觉感知结果包括车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息中的至少一种。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的自动驾驶的视觉感知方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的自动驾驶的视觉感知方法的步骤。
上述自动驾驶的视觉感知方法、装置、计算机设备和存储介质,在获取到采集的视觉感知图像之后,首先通过训练好的多任务神经网络的主干网络提取得到视觉感知图像的共享特征图,进而通过多任务神经网络中各分支网络基于共享特征图进行相应的任务的分类,得到各分支网络输出的分类结果,最后根据视觉感知目标,将对应的分类结果融合得到车道线信息、路面标志信息、通行区域路况信息和障碍物信息等等的视觉感知结果。该方法由于能够将视觉感知任务作为一个整体,利用训练好的多任务神经网络对多个视觉感知任务同时进行检测分类,能够快速适应真实环境中多个任务检测的需求,从而提高了视觉感知的精度。
附图说明
图1为一个实施例中自动驾驶的视觉感知方法的应用环境图;
图2为一个实施例中自动驾驶的视觉感知方法的流程示意图;
图3为一个实施例中二进制车道线图像的示意图;
图4为一个实施例中车道线实例分割图像的示意图;
图5为一个实施例中车道线线型图像的示意图;
图6为一个实施例中路面标志分类图像的示意图;
图7为一个实施例中区域分类图像的示意图;
图8为一个实施例中区域分类图像的示意图;
图9为一个实施例中多任务神经网络结构的结构示意图;
图10为一个实施例中多任务神经网络的训练方法的流程示意图;
图11为一个实施例中自动驾驶的视觉感知装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的自动驾驶的视觉感知方法,可以应用于如图1所示的应用环境中。该应用环境涉及摄像设备102和计算机设备104,可以应用于自动驾驶系统中。其中,摄像设备102通过网络与计算机设备104进行通信。当摄像设备102采集到视觉感知图像之后,将视觉感知图像发送给计算机设备104。计算机设备104获取采集的视觉感知图像之后,计算机设备104将视觉感知图像输入训练好的多任务神经网络的主干网络,通过主干网络提取视觉感知图像的共享特征,得到共享特征图;计算机设备104将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果;计算机设备104根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,视觉感知结果包括车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息中的至少一种。其中,摄像设备102包括但不限于是相机、摄像头或者携带有摄像功能的设备。计算机设备104可以是终端或者服务器,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种自动驾驶的视觉感知方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
步骤s202,获取采集的视觉感知图像。
其中,视觉感知图像是需要进行视觉感知的图像,由摄像设备所采集。比如,自动驾驶系统中安装于自动驾驶车辆上的摄像设备采集的图像。摄像设备的安装位置包括但不限于前视、侧视、后视和内置。
具体地,当自动驾驶车辆启动自动驾驶时,摄像设备会对拍摄范围内的驾驶区域进行图像采集,得到视觉感知图像。然后,摄像设备将采集到视觉感知图像发送给计算机设备,计算机设备由此获取到采集的视觉感知图像。
步骤s204,将视觉感知图像输入训练好的多任务神经网络的主干网络,通过主干网络提取视觉感知图像的共享特征,得到共享特征图。
其中,多任务神经网络是结合了多个视觉感知任务的神经网络,包括主干网络和各个任务对应的分支网络。各分支网络均的输入为主干网络的输出,将主干网络的输出输入各分支网络作为分支网络的输入。在本实施例中,多任务神经网络为已经预先训练好可以直接进行视觉感知任务的神经网络。通过多个任务共享主干网络,这种共享方式在节约运算量的同时可以提升主干网络的泛化能力。
具体地,当计算机设备获取到视觉感知图像之后,调用已经训练好的多任务神经网络。将视觉感知图像输入多任务神经网络的主干网络,由主干网络对视觉感知图像进行图像特征的提取,得到共享特征图。例如,通过主干网络中各网络层对视觉感知图像进行卷积池化等操作得到视觉感知图像的共享特征。
步骤s206,将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果。
其中,分支网络是基于共享特征图的信息进一步提取特定任务所需图像特征的网络结构。在本实施例中,分支网络包括但不限于车道线语义分割网络、车道线实例分割网络、线型分类网络、路面标志分类网络、通行区域检测网络、车辆行人实例分割网络和路面障碍物分类网络。
具体地,当计算机设备得到多任务神经网络的主干网络输出的共享特征图之后,将共享特征图分别输入多任务神经网络中的各分支网络。例如,将共享特征图分别输入车道线语义分割网络、车道线实例分割网络、线型分类网络、路面标志分类网络、通行区域检测网络、车辆行人实例分割网络和路面障碍物分类网络中。然后,接收到共享特征图的分支网络根据输入的共享特征图进一步提取视觉感知图像针对不同任务的图像特征,并根据提取到的深层次的图像特征输出相应的结果。
应当理解的是,当将共享特征图输入各分支网络时,可以通过指令将共享特征图输入到指定的分支网络。例如,可以将共享特征图指定输入车道线语义分割网络、车道线实例分割网络、线型分类网络、路面标志分类网络、通行区域检测网络、车辆行人实例分割网络和路面障碍物分类网络这七个分支网络中任意一个分支网络或多个分支网络。
步骤s208,根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果。
其中,预设视觉感知目标是指为自动驾驶系统中视觉感知层配置的视觉感知任务,与得到的视觉感知结果相对应,包括车道线、路面标志、通行区域路况和路面障碍物中的至少一种。视觉感知结果包括车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息中的至少一种。融合是指将各分支网络输出分类结果进行系统融合。可以理解为将分类结果进行参数化,从而便于上层处理。
具体地,当得到各分支任务输出的分类结果之后,根据自动驾驶系统中预设的视觉感知目标,从多个分支网络输出的分类结果中提取对应的分类结果。然后,将提取的对应的分类结果进行参数化,得到对应的视觉感知结果。
上述自动驾驶的视觉感知方法,在获取到采集的视觉感知图像之后,首先通过训练好的多任务神经网络的主干网络提取得到视觉感知图像的共享特征图,进而通过多任务神经网络中各分支网络基于共享特征图进行相应的任务的分类,得到各分支网络输出的分类结果,最后根据视觉感知目标,将对应的分类结果融合得到车道线信息、路面标志信息、通行区域路况信息和障碍物信息等等的视觉感知结果。该方法由于能够将视觉感知任务作为一个整体,利用训练好的多任务神经网络对多个视觉感知任务同时进行检测分类,能够快速适应真实环境中多个任务检测的需求,从而提高了视觉感知的精度。同时,这种多任务的方式由于任务之间没有耦合,因此可以在不需要重新训练网络且不影响其他任务精度的条件下,按需求添加和删减分支任务。
在一个实施例中,将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果,包括:将共享特征图输入车道线语义分割网络,通过车道线语义分割网络基于共享特征图进行车道线检测,得到二进制车道线图像;将共享特征图输入车道线实例分割网络,通过车道线实例分割网络基于共享特征图进行车道线实例分割,得到车道线实例分割图像;将共享特征图输入线型分类网络,通过线型分类网络基于共享特征图进行车道线线型分类,得到车道线线型图像。
其中,车道线语义分割网络是基于语义分割对视觉感知图像中的车道线进行目标检测的网络。车道线实例分割网络是基于实例分割对视觉感知图像中的车道线进行目标检测的网络。语义分割是指对图像上的所有像素点进行分类,而属于同一物体的不同实例不需要单独区分出来。实例分割需在分割出具体语义的同时,还能区分出个体信息,即可以标记出图像上同一物体的不同个体。在本实施例中,基于语义分割的车道线语义分割网络输出的图像中标注的只有车道线和其他图像区域。而基于实例分割的车道线实例分割网络的输出图像中标注出车道线所在的区域以及其他区域的同时,还可以区分出不同的车道线。例如,同一条车道线上的点有相同的标注值,不同车道线上的点标注值不同。线型分类网络则是用于检测视觉感知图像中各车道线的线型的网络,线型包括实线、虚线、双线等。
具体地,当得到多任务神经网络的主干网络输出的共享特征图后,将共享特征图分别输入至车道线语义分割网络、车道线实例分割网络和线型分类网络。
车道线语义分割网络基于共享特征图进一步提取视觉感知图像中车道线的特征,从而语义分割得到二进制车道线图像。二进制车道线图像是指像素值只有1和0的图像。当视觉感知图像上的车道线用1表示,其他图像区域用0表示时,那么二进制车道线图像上车道线对应像素点的像素值为1,其他图像区域对应像素点的像素值为0。由此,通过二进制车道线图像区分检测出来的车道线和其他区域图像。如图3所示,提供一种二进制车道线图像的示意图。二进制车道线图像的示意图由车道线语义分割网络输出,参考图3,车道线上的点像素值为1(白色区域),其他点像素值为0(黑色区域)。
车道线实例分割网络则基于共享特征图进一步提取视觉感知图像中各车道线所在空间位置的特征,从而得到车道线实例分割图像。车道线实例分割图像可以理解为根据车道线的空间位置关系对视觉感知图像进行空间划分得到的图像。如图4所示,提供一种车道线实例聚类图像的示意图。车道线实例聚类图像为车道线实例分割网络输出的车道线实例分割图像进行聚类后得到。参考图4,图中不同灰度值表示不同的聚类区域。
线型分类网络则基于共享特征图进一步提取视觉感知图像中车道线线型对应的特征,从而确定各车道线的线型,得到车道线线型图像。如图5所示,提供一种车道线线型图像的示意图。车道线线型图像由线型分类网络输出,参考图5,图中不同的灰度值代表不同的线型,结合车道线线型图像即可得到每条车道线的线型。
在一个实施例中,将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果,包括:将共享特征图输入路面标志分类网络,通过路面标志分类网络基于共享特征图进行路面标志的检测分类,得到路面标志分类图像。
其中,路面标志分类网络是用于检测视觉感知图像上路面标志的网络,路面标志包括但不限于停止线、斑马线、禁停区域、直行标志、左转标志、右转标志、直行左转、直行右转、直行左转右转、掉头标志、左转掉头、菱形标志、倒三角标志、路面文字、对向车道箭头等。
具体地,当得到多任务神经网络的主干网络输出的共享特征图后,将共享特征图输入至路面标志分类网络。路面标志分类网络基于共享特征图进一步提取与路面标志相关的特征,从而检测视觉感知图像中所包括的路面标志,并根据不同类型的路面标志将其标注后输出得到路面标志分类图像。如图6所示,提供一种路面标志分类图像的示意图。路面标志图像由路面标志分类网络输出,参考图6,图中不同的灰度值代表不同的路面标志区域。
在一个实施例中,将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果,包括:将共享特征图输入通行区域检测网络,通过通行区域检测网络基于共享特征图进行区域检测,得到区域分类图像;将共享特征图输入车辆行人实例分割网络,通过车辆行人实例分割网络基于共享特征图进行车辆行人的实例分割,得到车辆行人实例分割图像。
其中,通行区域检测网络是用于对视觉感知图像上通行区域的路况进行检测的网络,包括检测可通行区域(车辆可以通行的区域)、车辆、行人、交通标志和路沿等。车辆行人实例分割网络则是基于实例分割对视觉感知图像中的车道线和行人进行目标检测的网络。
具体地,当得到多任务神经网络的主干网络输出的共享特征图后,将共享特征图分别输入通行区域检测网络和车辆行人实例分割网络。通行区域检测网络基于共享特征图进一步提取的特征检测得到视觉感知图像中所包括的可通行区域、车辆、行人、交通标志和路沿,得到区域分类图像。可以理解为,区域分类图像上包括可通行区域、车辆、行人、交通标志和路沿中至少一种。如图7所示,提供一种区域分类图像的示意图。区域分类图像由通行区域检测网络输出,参考图7,下半部分的灰色区域为可通行区域、右上角的灰色区域为交通标志、白色线条为路沿、而线条周边的灰黑区域为车辆,而黑色区域为其他未包括可通行区域、交通标志、路沿和车辆行人的区域。
类似车道线实例分割网络,车辆行人实例分割网络基于共享特征图进一步提取视觉感感知图像中车辆和行人的特征,从而确定车辆和行人的个体信息,得到车辆行人实例分割图像。然后,将车辆实例行人分割图像进行聚类后,得到车辆实例行人实例聚类图像。在通过与通行区域检测网络语义分割得到的车辆图像和行人图像相结合,从而进一步得到车辆实例图像和行人实例图像。车辆行人实例分割图像可以理解为对视觉感图像中的车辆和行人进行实例分割得到的图像,每个车辆个体和每个行人个体都通过不同的标记标注出来。
在一个实施例中,将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果,包括:将共享特征图输入路面障碍物分类网络,通过路面障碍物分类网络基于共享特征图进行障碍物的检测分类,得到障碍物分类图像。
其中,路面障碍物分类网络是用于检测视觉感知图像上路面障碍物的网络,路面障碍物包括但不限于路障和锥形桶等。
具体地,当得到多任务神经网络的主干网络输出的共享特征图后,将共享特征图输入至路面障碍物分类网络。路面障碍物分类网络基于共享特征图进一步提取与路面障碍物相关的特征,从而检测视觉感知图像中所包括的路面障碍物,并根据不同类型的路面障碍物将其标注后输出得到障碍物分类图像。如图8所示,提供一种障碍物分类图像的示意图。障碍物分类图像有路面障碍物分类网络输出,参考图8,白色区域为障碍物,黑色区域为未包括障碍物的其他区域。
在一个实施例中,视觉感知结果包括车道线信息。根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果包括:根据预设视觉感知目标从分类结果中提取得到二进制车道线图像、车道线实例分割图像和车道线线型图像;将车道线实例分割图像对应的图像矩阵进行聚类,得到车道线实例聚类图像;根据车道线实例聚类图像和车道线线型图像,对二进制车道线图像进行实例分类和线型分类,得到车道线图像;对车道线图像中各车道线进行曲线拟合,并计算各车道线对应的车道线像素点的平均置信度,得到车道线信息。
具体地,当预设视觉感知目标为车道线时,从分类结果中获取二进制车道线图像、车道线实例分割图像和车道线线型图像。然后利用聚类算法对车道线实例分割图像对应的图像矩阵进行聚类,得到车道线实例聚类图像。聚类算法可采用任意一种,包括但不限于dbscan(density-basedspatialclusteringofapplicationswithnoise,基于密度的聚类算法)、mean-shift(均值漂移)算法、k均值聚类等。通过聚类进一步将属于同一区域的车道线的像素点聚集为一类。
当得到车道线实例聚类图像之后,根据车道线实例聚类图像对二进制车道线图像进行实例分类,同时根据车道线线型图像对二进制车道线图像进行线型分类,得到车道线图像。由于车道线实例聚类图像中是根据每条车道线的空间位置关系对空间进行划分(如图5所示,本实施例为了方便可视化,采用二维空间表示),因此利用车道线语义分割网络输出的二进制车道线图像,结合车道线实例聚类图像,就可以为相同车道线上的点标记同一个标签,同时不同车道线上的点标签不同,从而实现车道线实例分割的目的。而车道线线型图像中有各车道线对应的线型,因此又能够进一步确定每条车道线对应的线型,得到各车道线的线型标志位。由此,经过实例分类和线型分类得到的车道线图像中各车道线具有对应的颜色和线型,符合实际道路上的车道线。例如,车道线图像上包括的车道线可以是白色实线、白色虚线、黄色实线、黄色虚线、双黄线、实虚线、虚实线、减速带、进出匝道粗线中的任意一种或多种。
然后,由于感知层的上层并不能够直接根据得到的车道线图像确定车道线情况而进行后续自动驾驶的控制。因此,为了便于上层处理,需要对车道线图像进行参数化,得到参数化结果。车道线图像的参数化可以利用曲线拟合,对车道线图像进行曲线拟合,完成车道线图像的参数化。同时,计算车道线图像上各车道线的置信度,通过置信度确定车道线的可信程度。车道线图像中各车道线的置信度为各车道线区域中各像素点的置信度的平均值。通过获取组成车道线的各像素点的置信度之后,计算该条车道线所有像素点的置信度的平均值,得到的平均置信度为该条车道线的置信度。当上层获取到某条车道线的曲线拟合结果之后,根据对应的置信度确定该车道线的可信程度之后进行相应的自动驾驶控制。可以理解为,最终得到的车道线信息包括车道线图像曲线拟合后的曲线拟合参数、线型标志位以及对应的置信度。其中,曲线拟合可采用ransac(randomsampleconsensus,随机采样一致性)框架进行,通过ransac框架可以提高鲁棒性。车道线所有像素点的对应的置信度在二进制车道线图像、车道线实例分割图像和车道线线型图像进行车道线的任务检测时已经输出得到。
在一个实施例中,视觉感知结果包括路面标志信息。根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果包括:根据预设视觉感知目标从分类结果中提取得到路面标志分类图像;从路面标志分类图像中提取得到各路面标志对应的路面标志图像;分别将各路面标志图像进行椭圆拟合,并计算各路面标志图像对应像素点的平均置信度,得到路面标志信息。
具体地,当预设视觉感知目标为路面标志时,从分类结果中获取到路面标志分类图像。从路面标志分类图像中提取得到各路面标志对应的路面标志图像。例如,路面标志分类图像中同时包括直行标志、左转标志和右转标志时,从路面标志分类图像中将直行标志、左转标志和右转标志所在的图像区域提取出来,得到对应的路面标志图像。图像区域的提取可采用任意一种提取方法,例如基于连通区域的提取方法。
然后,由于感知层的上层并不能够直接根据得到的路面标志图像确定路面标志的情况而进行后续自动驾驶的控制。因此,为了便于上层处理,需要对路面标志图像进行参数化的处理。对提取得到的每个路面标志图像进行参数化,同时计算每个路面标志图像对应的置信度,通过置信度确定路面标志的可信程度。路面标志图像的参数化可采用椭圆拟合,对各路面标志图像进行椭圆拟合。同时,获取各路面标志图像对应像素点的置信度,计算各置信度的平均置信度,得到的平均置信度为路面标志图像的置信度。所以,路面标志信息中包括路面标志图像椭圆拟合后的椭圆拟合参数、路面标志类别标志位以及对应的置信度。当上层获取到路面标志的椭圆拟合结果之后,根据对应的置信度确定该路面标志的可信程度之后进行相应的自动驾驶控制。其中,路面标志图像各像素点对应的置信度在路面标志分类网络进行路面标志检测时已经输出得到。路面标志类别标志表示不同类别的路面标志,可根据路面标志分类网络的输出结果得到。
在一个实施例中,视觉感知结果包括通行区域路况信息。而由于通行区域路况信息包括可通行区域、路沿、交通标志、车辆和行人中的至少一种。因此,当系统融合获取通行区域路况信息时,可以按照可通行区域和路沿、交通标志、车辆和行人这三项分别进行。
根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果包括:从分类结果中获取到区域分类图像;从区域分类图像中提取得到可通行区域图像和路沿图像,并获取第一需求;根据第一需求对可通行区域图像和路沿图像进行参数化,并分别计算可通行区域图像对应像素点的平均置信度和路沿图像对应像素点的平均置信度,得到通行区域路况信息。
具体地,当预设视觉感知目标为通行区域路况中的可通行区域和路沿时,从分类结果中获取到区域分类图像。从区域分类图像中提取得到可通行区域和路沿的可通行区域图像和路沿图像。可通行区域图像和路沿图像的提取可采用任意一种提取方法。
然后,由于感知层的上层并不能够直接根据得到的可通行区域图像和路沿图像确定可通行区域和路沿而进行后续自动驾驶的控制。因此,为了便于上层处理,需要对可通行区域图像和路沿图像进行参数化的处理。首先获取第一需求,根据获取的第一需求对提取得到的每个可通行区域图像和路沿图像进行参数化。第一需求可以理解为是上层基于对可通行区域和路沿的视觉感知结果的需求发出的指令,根据不同的需求采用对应的参数化方法进行可通行区域图像和路沿图像的参数化。例如,根据需求可将通行区域图像表述为列方向上的n个采样点。路沿图像则可以类似车道线的处理,同样对路沿图像进行曲线拟合。
同时,计算每个可通行区域图像和路沿图像对应的置信度。获取各可通行区域图像对应像素点的置信度,计算各可通行区域图像对应像素点的置信度的平均置信度,得到的平均置信度为可通行区域图像的置信度。以及,获取各路沿图像对应像素点的置信度,计算各路沿图像对应像素点的置信度的平均置信度,得到的平均置信度为路沿图像的置信度。所以,通行区域路况信息中包括可通行区域图像和路沿图像参数化后的参数化结果以及对应的置信度。当上层获取到某条车道线的曲线拟合结果之后,根据对应的置信度确定可通行区域和路沿的可信程度之后进行相应的自动驾驶控制。其中,可通行区域图像和路沿图像各像素点对应的置信度在通行区域检测网络进行检测时已经输出得到。
在一个实施例中,根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果包括:根据预设视觉感知目标从分类结果中提取得到区域分类图像和车辆行人实例分割图像;从区域分类图像中提取得到车辆图像和行人图像;对车辆行人实例分割图像对应的图像矩阵进行聚类,得到车辆行人实例聚类图像;根据车辆行人实例聚类图像对所述车辆图像和行人图像进行实例分类,得到车辆实例图像和行人实例图像;将车辆实例图像和行人实例图像分别进行矩阵拟合,并分别计算车辆实例图像对应像素点的平均置信度和行人实例图像对应像素点的平均置信度,得到通行区域路况信息。
具体地,当预设视觉感知目标为通行区域路况中的车辆和行人时,从分类结果中获取到区域分类图像和车辆行人实例分割图像。从区域分类图像中提取车辆图像和行人图像。车辆图像和行人图像的提取可采用任意一种提取方法。然后利用聚类算法对车辆行人实例分割图像对应的图像矩阵进行聚类,得到车辆行人实例聚类图像。聚类算法可采用任意一种,包括但不限于dbscan(density-basedspatialclusteringofapplicationswithnoise,基于密度的聚类算法)、mean-shift(均值漂移)算法、k均值聚类等。通过聚类进一步将属于同一车辆的像素点或属于同一行人的像素点聚集为一类。
当得到车辆行人实例聚类图像之后,根据车辆行人实例聚类图像对车辆行人图像进行实例分类,结合车辆行人实例聚类图像区分车辆个体和行人个体,得到车辆实例图像和行人实例图像。然后,同样为了便于上层处理,需要对车辆实例图像和行人实例图像进行参数化的处理。车辆实例图像和行人实例图像的参数化均可以利用矩形拟合。对车辆实例图像和行人实例图像分别进行矩形拟合,完成车辆实例图像和行人实例图像的参数化。同时,分别计算车辆实例图像上各车辆和行人实例图像上行人的置信度,通过置信度确定检测到的车辆和行人的可信程度。通过获取车辆实例图像对应像素点的置信度之后,计算车辆实例图像对应像素点的平均置信度,得到的平均置信度为车辆实例图像的置信度。同理,通过获取行人实例图像对应像素点的置信度之后,计算行人实例图像对应像素点的平均置信度,得到的平均置信度为行人实例图像的置信度。当上层获取到车辆实例图像和行人实例图像的矩阵线拟合结果之后,根据对应的置信度确定该车辆和行人的可信程度之后进行相应的自动驾驶控制。所以,得到的通行区域路况信息中包括车辆实例图像和行人实例图像矩形拟合后的矩形拟合结果参数、目标类别标志位以及对应的置信度。其中,车辆实例图像和行人实例图像对应像素点的置信度在通行区域检测和车辆行人实例分割网络进行车辆行人的任务检测时已经输出得到。目标类别标志位表示不同类别的目标,可以根据通行区域检测网络和车辆行人实例分割网络的输出结果得到。
在一个实施例中,根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果包括:根据预设视觉感知目标从分类结果中提取得到区域分类图像;从区域分类图像中提取得到交通标志图像;对交通标志图像进行矩形拟合,并计算交通标志图像对应像素点的平均置信度,得到通行区域路况信息。
具体地,当预设视觉感知目标为通行区域路况中的交通标志时,从分类结果中获取到区域分类图像。从区域分类图像中提取得到各交通标志对应的交通标志图像。交通标志图像的提取可采用任意一种提取方法。
然后,对提取得到的每个交通标志图像进行参数化,同时计算每个交通标志图像对应的置信度。由于交通标志大多数为矩形,为了符合实际交通标志的情况,交通标志图像的参数化可采用矩形拟合,对各交通标志图像进行矩形拟合。同时,获取各交通标志图像对应像素点的置信度,计算各置信度的平均置信度,得到的平均置信度为交通标志图像的置信度。所以,通行区域路况信息中包括交通标志图像矩形拟合后的矩形拟合结果参数、交通标志类别标志位以及对应的置信度。当上层获取到某条车道线的曲线拟合结果之后,根据对应的置信度确定该交通标志的可信程度之后进行相应的自动驾驶控制。其中,交通标志图像各像素点对应的置信度在通行区域检测网络进行路面标志检测时已经输出得到。交通标志类别标志位表示不同类别的交通标志,可以根据通行区域检测网络的输出结果得到。
在一个实施例中,视觉感知结果包括路面障碍物信息。根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果包括:根据预设视觉感知目标从分类结果中提取得到障碍物分类图像;从障碍物分类图像中提取得到各障碍物对应的障碍物图像,并获取第二需求;根据第二需求对障碍物图像进行参数化,并计算各障碍物图像对应像素点的平均置信度,得到路面障碍物信息。
具体地,当预设视觉感知目标为路面障碍物信息时,从分类结果中获取到路面障碍物分类图像。从障碍物分类图像中提取得到各障碍物对应的障碍物图像。例如,障碍物分类图像中同时包括路障和锥形桶时,从障碍物分类图像中将路障和锥形桶所在的图像区域提取出来,得到对应的障碍物图像。图像区域的提取可采用任意一种提取方法。
然后,对障碍物图像进行参数化的处理。首先获取第二需求,根据获取的第二需求对提取得到的每个障碍物图像进行参数化。第二需求可以理解为是上层基于对障碍物的视觉感知结果的需求发出的指令,根据不同的需求采用对应的参数化方法进行障碍物图像的参数化。同时,计算每个障碍物图像对应的置信度。获取各障碍物图像对应像素点的置信度,计算各置信度的平均置信度,得到的平均置信度为障碍物图像的置信度。所以,路面障碍物信息中包括障碍物图像参数化后的参数化结果以及对应的置信度。当上层获取到参数化后的障碍物检测结果之后,根据对应的置信度确定该障碍物的可信程度之后进行相应的自动驾驶控制。其中,障碍物图像的各像素点对应的置信度在路面障碍物分类网络进行路面障碍物检测时已经输出得到。
如图9所示,提供一种多任务神经网络的结构示意图,基于该多任务神经网络的结构示意图对自动驾驶的视觉感知方法进行详细的解释说明。
具体地,多任务神经网络包括一个多分辨率u型结构的主干网络90和七个分支网络。七个分支网络分别是车道线语义分割网络901、车道线实例分割网络902、线型分类网络903、路面标志分类网络904、通行区域检测网络905、车辆行人实例分割网络906和路面障碍物分类网络907。七个分支网络可采用deconvolution(反卷积)或pixelshuffle(像素重组)的方式进行上采样操作。
当获取到视觉感知图像之后,将视觉感知图像输入至多分辨率u型结构的主干网络90。由多分辨率u型结构的主干网络90对视觉感知图像进行图像特征的提取,得到视觉感知图像的共享特征图。然后,将共享特征图输入至车道线语义分割网络901进行基于语义分割的车道线检测、输入至车道线实例分割网络902进行基于实例分割的车道线检测、输入至线型分类网络903进行车道线线型的检测、输入至路面标志分类网络904进行路面标志的检测、输入至通行区域检测网络905进行可通行区域、路沿、车辆和行人的检测、输入至车辆行人实例分割网络906进行基于实例分割的车辆和行人的检测、以及输入至路面障碍物分类网络907进行障碍物的检测。最后,基于901-907这七个分支网络输出的结果进行系统融合,分别得到车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息。
车道线信息由车道线语义分割网络901、车道线实例分割网络902和线型分类网络903输出的二进制车道线图像、车道线实例分割图像和车道线线型图像融合得到,包括参数化后的车道线和对应的置信度。首先通过对车道线实例分割图像进行聚类后得到的车道线实例聚类图像和车道线线型图像对二进制车道线图像进行实例分类和线性分类得到车道线图像。对车道线图像进行曲线拟合,得到的曲线拟合结果为参数化后的车道线。然后,计算各车道线对应的像素点的平均置信度,得到车道线的置信度。
路面标志信息包括参数化后的路面标志以及对应的置信度。通过从路面标志分类网络904输出的路面标志分类图像中提取得到各路面标志图像。然后对路面标志图像进行椭圆拟合,得到的椭圆拟合结果为参数化后的路面标志。然后,计算各路面标志图像对应像素点的平均置信度,得到路面标志的置信度。
通行区域路况信息包括参数化后的可通行区域、路沿、交通标志、车辆和行人,以及可通行区域、路沿、交通标志、车辆和行人对应的置信度。从通行区域检测网络905输出的区域分类图像中提取可通行区域图形、路沿图像、交通标志图像、车辆图像和行人图像。其中,根据上层需求对通信区域图像和路沿图像进行参数化。将车辆行人分割网络906输出的车辆行人分割图像进行聚类,得到车辆实例聚类图像。将车辆实例聚类图像与车辆图像和行人图像结合得到车辆实例图像和行人实例图像,将车辆实例图像和行人实例图像分别进行矩形拟合,得到的矩形拟合结果为参数化后的车辆和行人。交通标志图像进行矩形拟合,得到的矩形拟合结果为参数化后的交通标志。然后,分别计算可通行区域图像和路沿图像对应像素点的平均置信度得到通信区域的置信度和路沿的置信度。分别计算车辆实例图像上各车辆和行人实例图像上各行人对应像素点的平均置信度,得到车辆和行人的置信度。计算交通标志图像对应像素点的平均置信度,得到交通标志的置信度。
路面障碍物信息包括参数化后的路面障碍物以及对应的置信度。通过从路面障碍物分类网络907输出的路面障碍物分类图像中提取得到各障碍物图像。然后根据需求对障碍物图像进行参数化,得到参数化后的路面障碍物。然后,计算各障碍物图像对应像素点的平均置信度,得到障碍物的置信度。
其中,车道线的分类、路面标志的分类、通行区域路况的分类以及路面障碍物的分类如下表1所示:
表1
应当理解的是,本实施例中将多任务神经网络的分支网络分为901-907这七个分支网络的输出最终融合成车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息这四大类是根据本实施例的实际需求划分得到的,具体是根据视觉感知物体的稠密和稀疏确定的。车道线、路面和路沿在驾驶道路上出现的概率高且容易采集到,属于稠密型样本,因此可以对应的多个分支网络的输出一起维护。而路面标志和路面障碍物出现概率极低且不容易采集到,属于稀疏型样本,因此可以单独维护。此外,还可以根据检测精度的要求或者更新频繁程度作为划分依据进行分类。例如对精度要求高的任务放到单独的分支维护,对精度低的任务可以一起维护。经常更新的任务单独维护,不经常更新的放到一起维护。
在本实施例中,相比传统针对单一项任务进行识别的方法来说,本实施例中把视觉感知的任务做成一个整体,基于神经网络进行特征提取,从而可以适应真实环境中各项任务检测的需求并保证检测精度。同时,本实施例中每个任务的标注数据分开维护,不需要在同一张图中将所有的检测目标同时标注出来,而是不同的任务标注不同的目标,因此有利于数据批量化生产并降低数据标注和维护成本。
在一个实施例中,如图10所示,提供一种多任务神经网络的训练方法,具体包括以下步骤:
步骤s1002,获取训练数据集;训练数据集包括与各分支网络对应的多类训练样本以及各所述训练样本的标注结果。
训练数据集是用于训练多任务神经网络的视觉感知图像。由于所训练的神经网络为多任务的多分支神经网络,因此获取的训练集中应当包括与各分支网络对应的各种类型的训练样本。同时,训练数据集中的训练样本有对应的标注结果,标注可预先由用户操作标注工具对训练样本进行标注得到。本实施例中的标注不需要将所有分支网络的任务都在同一张图中标注,只需要在训练样本中标注对应分支网络的任务对应的内容,其他内容可以不标注。
另外,为了增加训练样本的多样性保证神经网络的表现能力,训练数据集中各个分支对应的训练样本可以是多种不同条件下不同的视觉感知图像。例如,不同光照条件、不同场景、摄像设备不同安装角度的图像。其中可以包括晴天、雨天、白天、夜间、高速、城区、大车视角、小车视角等场景下的图像。
步骤s1004,调用多任务神经网络中各分支网络对应的数据加载器,数据加载器从训练数据集中获取各分支网络对应的训练样本以及训练样本的标注结果。
数据加载器是用于加载数据的程序。本实施例的数据加载器用于从训练数据集中加载训练样本。由于不同的分支网络训练的任务不同,因此预先为每个分支网络编写对应的数据加载器,专门用于获取该分支网络所需要的训练样本。
步骤s1006,将各训练样本输入至待训练多任务神经网络的待训练主干网络,通过待训练主干网络提取训练样本的共享特征,得到共享样本特征图。
步骤s1008,将共享样本特征图分别输入对应的待训练多任务神经网络中的各待训练分支网络,各待训练分支网络基于共享样本特征图分别进行对应的任务的分类,输出相应任务的训练分类结果。
步骤s1010,根据训练分类结果与训练样本的标注结果,确定各分支网络的损失函数。
具体地,开始训练时首先对多任务神经网络进行初始化。例如确定好迭代次数、数据加载器能够加载数据的长度以及优化器梯度清零等。当初始化完成之后开始进行训练。通过各数据加载器从训练数据集中加载对应分支网络所需的训练样本输入待训练多任务神经网络开始训练。
以其中1个分支网络为例说明训练过程:假设该分支网络为第一个分支网络,那么,第一个分支网络对应的数据加载器1从训练数据集中加载获取到第一个分支网络对应的任务的训练样本1。若第一个分支网络为路面标志分类网络,那么数据加载器1从训练数据集中加载的被划分为路面标志的训练样本。其次,将数据加载器1加载的训练样本1输入待训练多任务神经网络的待训练主干网络。当待训练主干网络对训练样本1进行特征提取,得到共享样本特征图1之后,将共享样本特征图1输入第一个分支网络。由第一个分支网络对共享样本特征图1进一步进行特征提取,并根据提取的特征输出对应的训练分类结果1,从而完成第一个分支网络的训练。最后,因为训练分类结果1为预测值,训练样本1对应的标注结果1为真实值。因此可以根据训练分类结果1和训练样本1对应的标志结果1确定第一个分支网络的损失函数1。应当理解的是,若有第二个分支网络、第三个分支网络、第四个分支网络……第n个分支网络,有第二个分支网络、第三个分支网络、第四个分支网络……第n个分支网络与第一个分支网络的训练原理相同,在此不再赘述。
步骤s1012,将各损失函数进行线性叠加,得到全局损失函数。
步骤s1014,根据全局损失函数对得到训练分类结果后的多任务神经网络进行反向传播,迭代训练,得到训练好的多任务神经网络。
具体地,当所有任务的分支网络正向传播的训练完成之后,获取每个分支网络对应的损失函数。然后,将所有的损失函数进行线性叠加,得到的损失函数即为全局损失函数。线性叠加可以理解为根据不同任务的分支网络的重要性或者视觉感知的需求,对各个分支网络设定对应的权重。根据权重进行加权处理得到全局损失函数,线性叠加公式如下:
l=a1×loss1+a2×loss2+…+an×lossn
l表示全局损失函数,a1、a2…an表示第n个分支网络的权重,loss1、loss2…lossn表示第n个分支网络的损失函数。
当得到全局损失函数之后,根据全局损失函数对整个多任务神经网络进行反向传播的训练并更新优化器梯度,由此完成一次训练。当根据迭代次数确定还需要进行训练时,基于上述相同原理对多任务神经网络进行迭代训练,训练过程与上述训练过程原理相同,在此不再赘述。即通过数据加载器获取下一个训练样本以及对应的标注结果进行迭代训练,直到满足迭代次数为止。而最终得到的多任务神经网络为训练好的多任务神经网络。在本实施中,通过多任务的训练数据集的联合训练方式,能够达到多任务端到端的训练。并且通过各分支网络的训练样本以及标注结果不相同的这种非完备的训练数据集进行训练,相比传统采用完备训练集的训练方式来说,不仅降低数据成本还能降低各分支网络模块的耦合度,从而提高各分支网络的表现能力。
应该理解的是,虽然图2和10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种自动驾驶的视觉感知装置,包括:获取模块1102、提取模块1104、分类模块1106和融合模块1108,其中:
获取模块1102,用于获取采集的视觉感知图像。
提取模块1104,用于将视觉感知图像输入训练好的多任务神经网络的主干网络,通过主干网络提取视觉感知图像的共享特征,得到共享特征图。
分类模块1106,用于将共享特征图分别输入多任务神经网络中的各分支网络,各分支网络基于共享特征图分别进行对应的任务的分类,输出相应任务的分类结果。
融合模块1108,用于根据预设视觉感知目标,提取对应任务的分类结果进行融合,得到视觉感知结果,视觉感知结果包括车道线信息、路面标志信息、通行区域路况信息和路面障碍物信息中的至少一种。
在一个实施例中,分类模块1106还用于将共享特征图输入车道线语义分割网络,通过车道线语义分割网络基于共享特征图进行车道线检测,得到二进制车道线图像;将共享特征图输入车道线实例分割网络,通过车道线实例分割网络基于共享特征图进行车道线实例分割,得到车道线实例分割图像;将共享特征图输入线型分类网络,通过线型分类网络基于共享特征图进行车道线线型分类,得到车道线线型图像。
在一个实施例中,分类模块1106还用于将共享特征图输入路面标志分类网络,通过路面标志分类网络基于共享特征图进行路面标志的检测分类,得到路面标志分类图像。
在一个实施例中,分类模块1106还用于将共享特征图输入通行区域检测网络,通过通行区域检测网络基于共享特征图进行区域检测,得到区域分类图像;将共享特征图输入车辆行人实例分割网络,通过车辆行人实例分割网络基于共享特征图进行车辆行人的实例分割,得到车辆行人实例分割图像。
在一个实施例中,分类模块1106还用于将共享特征图输入路面障碍物分类网络,通过路面障碍物分类网络基于共享特征图进行障碍物的检测分类,得到障碍物分类图像。
在一个实施例中,融合模块1108还用于根据预设视觉感知目标从分类结果中提取得到二进制车道线图像、车道线实例分割图像和车道线线型图像;将车道线实例分割图像对应的图像矩阵进行聚类,得到车道线实例聚类图像;根据车道线实例聚类图像和车道线线型图像,对二进制车道线图像进行实例分类和线型分类,得到车道线图像;对车道线图像中各车道线进行曲线拟合,并计算各车道线对应的车道线像素点的平均置信度,得到车道线信息。
在一个实施例中,融合模块1108还用于根据预设视觉感知目标从分类结果中提取得到路面标志分类图像;从路面标志分类图像中提取得到各路面标志对应的路面标志图像;分别将各路面标志图像进行椭圆拟合,并计算各路面标志图像对应像素点的平均置信度,得到路面标志信息。
在一个实施例中,融合模块1108还用于从分类结果中获取到区域分类图像;从区域分类图像中提取得到可通行区域图像和路沿图像,并获取第一需求;根据第一需求对可通行区域图像和路沿图像进行参数化,并分别计算可通行区域图像对应像素点的平均置信度和路沿图像对应像素点的平均置信度,得到通行区域路况信息。
在一个实施例中,融合模块1108还用于根据预设视觉感知目标从分类结果中提取得到区域分类图像和车辆行人实例分割图像;从区域分类图像中提取得到车辆图像和行人图像;对车辆行人实例分割图像对应的图像矩阵进行聚类,得到车辆行人实例聚类图像;根据车辆行人实例聚类图像对所述车辆图像和行人图像进行实例分类,得到车辆实例图像和行人实例图像;将车辆实例图像和行人实例图像分别进行矩阵拟合,并分别计算车辆实例图像对应像素点的平均置信度和行人实例图像对应像素点的平均置信度,得到通行区域路况信息。
在一个实施例中,融合模块1108还用于根据预设视觉感知目标从分类结果中提取得到区域分类图像;从区域分类图像中提取得到交通标志图像;对交通标志图像进行矩形拟合,并计算交通标志图像对应像素点的平均置信度,得到通行区域路况信息。
在一个实施例中,融合模块1108还用于从障碍物分类图像中提取得到各障碍物对应的障碍物图像,并获取第二需求;根据第二需求对障碍物图像进行参数化,并计算各障碍物图像对应像素点的平均置信度,得到路面障碍物信息。
在一个实施例中,自动驾驶的视觉感知装置还包括训练模块,用于获取训练数据集;训练数据集包括与各分支网络对应的多类训练样本以及各所述训练样本的标注结果;调用多任务神经网络中各分支网络对应的数据加载器,数据加载器从训练数据集中获取各分支网络对应的训练样本以及训练样本的标注结果;将各训练样本输入至待训练多任务神经网络的待训练主干网络,通过待训练主干网络提取训练样本的共享特征,得到共享样本特征图;将共享样本特征图分别输入对应的待训练多任务神经网络中的各待训练分支网络,各待训练分支网络基于共享样本特征图分别进行对应的任务的分类,输出相应任务的训练分类结果;根据训练分类结果与训练样本的标注结果,确定各分支网络的损失函数;将各损失函数进行线性叠加,得到全局损失函数;根据全局损失函数对得到训练分类结果后的多任务神经网络进行反向传播,迭代训练,得到训练好的多任务神经网络。
关于自动驾驶的视觉感知装置的具体限定可以参见上文中对于自动驾驶的视觉感知方法的限定,在此不再赘述。上述自动驾驶的视觉感知装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动驾驶的视觉感知方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请任意一个实施例中提供的自动驾驶的视觉感知方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请任意一个实施例中提供的自动驾驶的视觉感知方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。