准备工作
Tensorflow版本1.14
安装tensorflow1.14步骤
1.新建虚拟环境
conda create --name 环境名称 python=3.6
2.切换虚拟环境
conda activate 环境名称
3.安装cudatoolkit
conda install cudatoolkit=10.1
4.安装cudnn
conda install cudnn=7.6.5
5.安装tensorflow-gpu版本
conda install tensorflow-gpu==1.14.0
6.检测是否安装完成
conda list
7.其他图像处理库也需要安装
数据集:tusimple数据集
复现代码lanenet-lane-detection-master
本地项目代码路径F:\car\code\lanenet-lane-detection-master
本地数据集路径F:\car\dataset\tusimple
vgg.npy下载放在项目路径的data目录中链接:
百度网盘链接提取码:3qm0
权重文件 百度网盘链接提取码:sj5t
项目下载下来需要加载权重文件,放在model文件夹
执行项目文件,脚本如下
src_dir是你自己的数据集的目录
cd lanenet-lane-detection/tools
python tools/generate_tusimple_dataset.py --src_dir=F:/car/dataset/tusimple/train_set
运行效果如下:
执行完毕之后会在F:\car\dataset\tusimple\train_set\training下生成train.txt文件
文件内容是打乱的图片路径:
将生成的train.txt文件,我们可以手动分割一下train set和val set,也就是剪切train.txt中的一部分到一个新建的val.txt文件中。该数据集共包含 3626 × 3 = 10878 3626\times 3 = 108783626×3=10878 张图片,我们选取1200张图片作为验证集(test:val约9:1)的比例。
执行以下代码
python data_provider/lanenet_data_feed_pipline.py --dataset_dir F:/car/dataset/tusimple/train_set/training --tfrecords_dir .\data\training_data_example\tfrecords
会在数据集目录下的training下生成val.txt和test.txt
另外也会在你的项目文件下的tfrecords文件夹生成如下文件
注意事项
ModuleNotFoundError: No module named ‘config’
如果出现上述错误,请在报错的地方加上
import sys
sys.path.append('F:/car/code/lanenet-lane-detection-master')
sys.path.append('F:/car/code/lanenet-lane-detection-master/config')
sys.path.append('F:/car/code/lanenet-lane-detection-master/data_provider')
sys.path.append('F:/car/code/lanenet-lane-detection-master/lanenet_model')
sys.path.append('F:/car/code/lanenet-lane-detection-master/tools')
或者
import sys,os
sys.path.append(os.path.dirname(__file__) + os.sep + '../')
训练
下载VGG16网络的预训练权重vgg16.npy,下载完成以后将vgg16.npy放在data目录下,然后使用脚本tools/train_lanenet.py开始训练
python tools/train_lanenet.py --dataset_dir ./data/training_data_example --multi_gpus False --net_flag vgg
也可以用脚本
python tools/train_lanenet.py
--net vgg
--dataset_dir ./data/training_data_example
-m 0
效果
也可以使用加了预训练权重的模型
python tools/train_lanenet.py
--net vgg
--dataset_dir data/training_data_example/
--weights_path path/to/your/last/checkpoint
-m 0
如果训练过程中自己断了,或者是被别人挤掉了,可以执行下面的代码继续上次中断的地方开始训练。
python tools/train_lanenet.py
--net vgg
--dataset_dir data/training_data_example/
###后面的.data .index .meta 不需要写
--weights_path ./model/tusimple_lanenet_vgg/tusimple_lanenet_vgg_****-**-**-**-**-**.ckpt-*****
-m 0
使用tensorboard查看训练过程:
cd tboard/tusimple_lanenet_vgg/
tensorboard --logdir=.
车道线检测
python tools/test_lanenet.py --weights_path model/New_Tusimple_Lanenet_Model_Weights/tusimple_lanenet_vgg.ckpt --image_path data/tusimple_test_image/0.jpg
运行结束后会跳出四张图片,保存即可。