车道线检测之LaneNet

论文:Towards End-to-End Lane Detection: an Instance Segmentation Approach

Github:https://github.com/MaybeShewill-CV/lanenet-lane-detection?tab=readme-ov-file

论文提出一种车道线检测网络LaneNet,该网络以enet为主干网络结构,分别输出二分类结果(lane segmentation branch)和像素聚类结果(lane embedding branch),最终输出实例化的道路线分割结果。然后作者训练了一个H-Net,基于该网络可以得到不同图片的变换为鸟撖图的变换矩阵,得到鸟撖图后,基于3次曲线拟合就可以得到相应的车道线,从而得到坐标点,最后通过逆变换矩阵还原回原图,得到最终的车道线关键点坐标。该算法速度可以达到50fps,在tuSimple dataset数据集上取得了不错的结果。

主要贡献:

(1)提出一个多分支多任务的网络结构LaneNet将车道线检测问题转化为实例分割问题处理,该方法可以处理任意数量的车道线。分割分支输出像素级别的2分类结果,聚类分支则将不同车道线的像素区别开。

(2)提出一个获取不同透视变换参数的网络结构H-Net,相比于使用固定参数的鸟撖图变换,有助于使得车道线拟合过程更加鲁棒,同时解决了固定参数对于上下坡的点无法拟合的问题。

网络结构:

LaneNet以Enet作为主干网络结构,使用encoder-decoder的U型设计思路。网络输入图像大小为1*256*512*3。

传统的基于多目标分割的车道线方法,只能训练固定个数的车道线,难以做到自适应不同条数的车道线路面。为了解决这样的问题,论文提出了分割分支(lane segmentation branch),聚类分支(lane embedding branch)双分支输出的网络结构。其中分割分支输出2分类分类结果,车道线为前景,其余为背景。聚类分支负责将同一车道线的像素汇聚,不同车道线的像素拉开,输出聚类图。在实验中,该聚类数目为4,实际使用中,之需要修改该数目的个数,即可适用于不同车道数路面。分割分支的输出维度为1*256*512,聚类分支的输出维度为1*256*512*4。

得到分割分支和聚类分支的结果后,需要进行后处理操作,对分割结果进行几何形态学处理从而去除孔洞,对去除孔洞的图像进行连通域处理,得到不同的连通域,对不同连通域图像基于聚类分支结果进行赋值,然后基于dbsan聚类,得到最终的实例分割结果。

基于实例分割图,通过预先训练好的H-Net转化为鸟撖图,再基于曲线拟合得到车道线的曲线方程,从而得到像素点,将鸟撖图的像素点通过H-Net的逆变换矩阵还原到原图上,最终得到最终的车道线像素点。

binary segmentation:

标签制作过程中,将被车辆遮挡的车道线、看不见的或者褪色的车道线都进行了视觉延伸的标注。训练过程使用加权的交叉熵损失函数。

instance segmentation:

该分支训练过程使用了距离度量学习(distance metric learning),聚类的损失函数为Lvar和Ldist,Lvar负责将一个车道线内的像素距离拉近到距离中心点δv以内,Ldist负责将不同车道线的中心点推开到δd距离外。其中µc表示聚类的中心,Nc表示像素数目。

聚类过程通过dbsan迭代式进行,最终保证δd > 6δv。聚类过程首先使用均值漂移找到每个簇的中心点,然后将中心点附近2δ距离内的像素进行聚类。
 

CURVE FITTING USING H-NET:

H-Net生成的6自由度矩阵如上图所示。通过该自适应的矩阵,可以获得比固定矩阵更好的效果。

H-Net的损失函数,

H-Net网络结构,

实验结果:

总结:

  1. LaneNet可以解决任意车道实例分割的问题,运行速度快,达到50FPS。
  2. H-Net可以解决任意图像鸟撖图变换的问题
  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值