基于resnet-18的轻量型车道检测研究

论文2:
Ultra Fast Structure-aware Deep Lane Detection

官方代码地址:https://github.com/cfzd/Ultra-Fast-Lane-Detection

该论文的轻量型模型以Resnet-18为底。

1.论文介绍以及实验

论文方法:将车道线检测定义为寻找车道线在图像中某些行的位置的集合,即基于行方向上的位置选择、分类(row-based classification),而分割是逐像素上channel(通道)维度的选择。该文把车道线检测问题看作基于全局图像特征的行搜索问题(row-based selecting method based on global image features)实际上就是在图像中预先定义多个row anchor,把每一个anchor都gridding为多个cell,通过预测每一cell中车道线的存在概率,实现车道线检测。
参考内容:https://zhuanlan.zhihu.com/p/157530787,原作者的检测示意图。
在这里插入图片描述
在图森数据集中,作者设置的row_anchor = [64-284],其中区间高度为4。

其中图森数据集制作以及训练过程参考上一篇博客:https://blog.csdn.net/han422858897/article/details/121139486

下面来展示该论文在本地的实验结果。
硬件参数如下:CPU为i5-9400f,GPU为NVIDIA 1650 4g,内存为16G
论文2训练30个epoch,batchsize=6,损失曲线如下:
在这里插入图片描述
可以看出损失曲线没有达到收敛,但是测试已经达到了不错的效果。
论文2:Res18-Ours
精度:95.34%
速度:88.82FPS
图森数据集评估流程:
1.利用最小二乘找到真实车道线和平面的夹角,并将角度值返回

    def get_angle(xs, y_samples): #获取车道线与平面的夹角
        xs, ys = xs[xs >= 0], y_samples[xs >= 0]
        if len(xs) > 1:
            LaneEval.lr.fit(ys[:, None], xs) #fit最小二乘符合
            k = LaneEval.lr.coef_[0]
            theta = np.arctan(k)  #根据横纵座标求角度
        else:
            theta = 0
        return theta

2.获取真实阈值

threshs = [LaneEval.pixel_thresh / np.cos(angle) for angle in angles]

3.根据真实阈值判断该点是否属于预测正确点,是记为1,不是记为0.

np.where(np.abs(pred - gt) < thresh, 1., 0.

4.根据阈值范围内的个数比上真实点的个数,来计算实际精度

np.sum(np.where(np.abs(pred - gt) < thresh, 1., 0.)) / len(gt) #len(gt)表示真实点的个数

论文2:Res18-Ours预测结果可视化
在这里插入图片描述

论文2:Res18-Ours与官方数据的对比
在这里插入图片描述
可以看出,虽然论文2的Res18-Ours在训练30个epoch后,虽然还没有收敛,但是已经可以在精度和速度表现出超出论文1的lanenet的效果。

2.参考内容

官方代码链接: https://github.com/cfzd/Ultra-Fast-Lane-Detection
论文作者知乎连接: https://zhuanlan.zhihu.com/p/157530787

版权声明:本文为CSDN博主「骑马戏猴侃猪逗呆子的和尚」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/han422858897/article/details/121152577

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

单目3D目标检测调研

单目3D目标检测调研 一、 简介 现有的单目3D目标检测方案主要方案主要分为两类,分别为基于图片的方法和基于伪雷达点云的方法。   基于图片的方法一般通过2D-3D之间的几何约束来学习,包括目标形状信息&#xff0