作者:小洲相册居士 | 来源:互联网 | 2023-09-25 18:20
在windows cpu上跑通车道线检测算法LSTR
项目地址:https://github.com/liuruijin17/LSTR
项目有两个分支,main分支是基于tusimple数据集的,culane分支是基于culane数据集的。
本文演示的是基于tusimple数据集的。
一、环境配置
方法一:根据官方的txt文件进行配置(耗时,而且不一定适用于windows系统,不太可行)。
方法二:从anaconda克隆一个环境取名为LSTR。
 
打开 Anaconda Prompt 命令行窗口,执行conda activate LSTR,激活环境,并进入到项目目录下。
 
试着执行一下测试命令,现在肯定是不能执行成功的,执行的目的在于,查看缺少哪些库。
python test.py LSTR --testiter 500000 --modality eval --split testing --debug
 
我在运行的时候提示 torchvision has no attribute __version__,网上查询之后说是版本过低,于是到pytorch主页安装新版本的torch和torchvision.
pytorch的页面如下,GetStarted页面根据自己的操作系统进行选择,例如我的操作系统是windows, 而且没有cuda, 选择之后,下面会出现相应的安装命令,复制下来在命令行里运行就可以开始安装了。
如果安装过程中提示Read time out,则可修改pip的参数 --default-timeout。
 
 
安装完成后再次运行测试脚本,看是否还缺少库,缺少什么库安装什么库就可以了,我的是装完torch 和torchvision后就没有报import相关的问题了。
下面要修改代码,使其没有cuda也能跑起来。
 
二、修改代码适应cpu
1)修改py_factory.py文件
 
 
 
 
2)修改 test目录下的tusimple.py文件
 
三、用tusimple数据集中的test_set做测试
1)整理目录结构
我本人的电脑上测试数据集存放的目录为 F:/Data/tusimple/test_set, 跟作者建议的文件存储结构相比差了一个test_label.json,将test_label.json复制到test_set目录下即可。
 
2)修改配置参数
修改config目录下LSTR.json 文件中data_dir, 将其修改为上一步中目录即可。注意引号后面的逗号不能少,否则会产生解析json出错。
 
 
3)去掉原代码中的目录拼接
修改db目录下的tusimply.py文件
 
4)执行测试命令
python test.py LSTR --testiter 500000 --modality eval --split testing --debug
注意图片中=======后面的文件路径和文件名是我自己添加的打印。
 
5)查看结果
叠加了测试结果的图片保存在./results/LSTR/500000/testing/lane_debug目录下。
 
 
四、用非tusimple数据集中的数据做测试
1)修改test目录下的images.py文件
 
2)准备数据
在与test.py同级的目录下创建一个文件夹images, 将待测试图片放在images目录下。
 
3)执行测试命令
 
python test.py LSTR --testiter 500000 --modality images --image_root ./ --debug
 
4)查看结果
用上面的命令测试自己的图片时,结果保存在detections目录下。