源码:https://github.com/Turoad/lanedet
这是一个常见的检测网络整合版本,目前包括的检测网络有:
模型论文介绍
SCNN,RESA论文介绍,UFLD介绍,laneNet|其它相关模型,LaneATT介绍
数据集介绍
主要是CULane与TuSimple两个数据集
代码测试
这里主要测试了下基于RESA框架的resnet34模型和CULane数据集
由于电脑gpu只有一个没办法训练,只能下载CULane的测试数据集进行测试以验证模型以及代码可行性,期间也尝试运行了RESA官方代码,发现评估还需要安装编译源码,过于麻烦,放弃尝试,直接使用本集成源码即可。
测试时也遇到一些问题:
报了上面错误,尝试了各种办法都没有解决,没办法只能从问题根源找问题,根据下面提示发现是config.py配置文件的问题
def _file2dict(filename):
filename = osp.abspath(osp.expanduser(filename))
check_file_exist(filename)
if filename.endswith('.py'):
with tempfile.TemporaryDirectory() as temp_config_dir:
temp_config_file = tempfile.NamedTemporaryFile(
dir=temp_config_dir, suffix='.py')
temp_config_name = osp.basename(temp_config_file.name)
shutil.copyfile(filename,
osp.join(temp_config_dir, temp_config_name))
#temp_module_name = osp.splitext(temp_config_name)[0]
temp_module_name = osp.splitext("1.py")[0]
#sys.path.insert(0, temp_config_dir)
sys.path.insert(0, "/home/disk/qizhongpei/projects/lane-detection/resa/tmp")
Config._validate_py_syntax(filename)
mod = import_module(temp_module_name)
sys.path.pop(0)
cfg_dict = {
name: value
for name, value in mod.__dict__.items()
if not name.startswith('__')
}
# delete imported module
del sys.modules[temp_module_name]
# close temp file
temp_config_file.close()
找到文件中上面代码,其实从错误地方也可以看出,本来是要产生temp临时文件,但是并没有生成文件,于是进行了每行代码测试,发现是下面代码的问题,filename是要进行配置的py文件,再复制到临时文件时出现了乱码,没办法电脑加密惹的祸,于是不进行读取临时文件,直接读取一份复制文件不也可以吗
迫不及待随便找了一张图片测试下,结果如下
What?,看到上面的图是怀疑是网络模型的问题还是自己改代码的问题,按说大佬训练的模型不至于这样啊,于是又找了几张图片测试下
哎,发现有的可以测到啊,首先代码改的没问题,看了数据集介绍才知道,这个数据集主要场景是直道且是城区的,所以对弯道测试效果不准,经过数据集进行测试,结果如下,准确度并不高感觉,还是要根据场景选择或者自己制作数据集训练