文章目录[隐藏]
论文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
暂无评论