赞
踩
LaneNet项目开源地址:https://github.com/MaybeShewill-CV/lanenet-lane-detection
预训练模型可以从作者的readme文档中给的链接进行下载。
如果下载不下来,可以参考https://blog.csdn.net/wjinjie/article/details/108575549,到博主的百度云网盘中下载。
将下载下来的模型文件放在项目中model/tusimple_lanenet文件夹下,目录结构如下图所示:
执行测试脚本
python tools/test_lanenet.py --weights_path ./model/tusimple_lanenet/tusimple_lanenet.ckpt --image_path ./testdata/tusimple_test_image/1.jpg
--weights_path后面跟的是模型文件地址,注意这里只需要输入到.ckpt即可,脚本会自动读取模型文件夹下的四个文件。
--image_path后面跟的是测试图片的地址。
python tools/test_lanenet.py --weights_path ./model/tusimple_lanenet/tusimple_lanenet.ckpt --image_path ./testdata/tusimple_test_image/1.jpg
测试结果如下图:
代码的原作者说一些相关参数以及后处理部分都是针对tusimple数据集做的,不能直接用来处理其它的数据集,我们先来简单测试一下。
python tools/test_lanenet.py --weights_path ./model/tusimple_lanenet/tusimple_lanenet.ckpt --image_path ./testdata/tusimple_test_image/9.jpg
从结果看,binary_image 和 instance_image效果还可以,但是mask_image和src_image中只检测到一条线,还有的图片可能一条线也检测不出来,就是网上很多网友反应的mask_image全黑的问题。
查看了github项目对应的issue,比如https://github.com/MaybeShewill-CV/lanenet-lane-detection/issues/318,作者的回答:
1.模型是在tusimple上训练的,在别的数据集上表现不佳也是正常现象。
2.repo里面的后处理过程包括但不限于dbscan聚类,ipm转换,车道线方程拟合相关的参数都是根据tusimple数据集定制的,所以在别的数据上无法有效泛化。
3.如果要在别的数据上测试效果,建议只观察binary segmentation的掩码结果和pixel embedding结果,pixel embedding结果既可以通过归一化到[0-255]以四维图像的数据形式观察,也可以自行调节聚类参数或者替换自己的聚类方法得到聚类的instance segmentation掩码结果。后处理部分在别的数据集上无法直接使用:)
鉴于此,参考https://github.com/MaybeShewill-CV/lanenet-lane-detection/issues/291我们来调整一下聚类参数试试。
将config/tusimple_lanenet.yaml文件中后处理参数中的DBSCAN_MIN_SAMPLES由1000调整为300
再跑一下测试脚本,看一下结果,效果好像还不错哦!
从上面这张图来看,虽然检测到了车道线,但是延伸到了天空中,想要得到更好的效果,可能还是需要自己针对相应的数据集做一些修改。
Issues中还有很多其它问题的讨论,感兴趣的话自己可以去查看一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。