## 车道线检测模型LaneNet TensorRT加速
徐静
### 1.下载模型配置环境
1. 在官网下载预训练的模型,backbone为bisenetV2
2. 创建虚拟环境安装必要的包,因为tensorflow只作为测试我们预安装tensorflow而非tensorflow-gpu
```shell
conda create -n tf15 python=3.7
conda activate tf15
pip install -r rqwuirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
```
3. TensorRT 8.2.1.8
4. VS 2017
### 2.Tensorflow 2 TensorRT
鄙人研究发现,LaneNet 的TensorRT加速目前没有开源的C++实现,没有相关源码参考,需要自己搞了。特别是LaneNet项目时不时的会有更新,即使有相关参考项目也是比较老的版本,无法适应新的环境。
#1.冻结Tf图的变量
```shell
#需要找到input和output的结点然后冻结图
# 进入到lanenet的项目下,执行tools下的print_graph.py
conda activate tf15
python tools/print_graph.py
# 可以把网络结构存储在Tensorboad的log中,方便我们查看tf的网络节点,同时这个脚本也生成了pb文件
# 也可以用下面方式生成
python tools/freeze_graph.py
# 将在项目下生成lanenet.pb的freeze graph
```
#2.使用tf2onnx工具将模型转为onnx
我看有大佬有转UFF也成功了,官方已经基本废弃UFF Parser了,tf转onnx trt官方推荐使用tf2onnx,因此我们选择这条路。
```shell
python -m tf2onnx.convert -h
# 方式1生成的pb转onnx
python -m tf2onnx.convert --input ./lanenet.pb --output ./lanenet.onnx --inputs input_tensor:0 --outputs LaneNet/bisenetv2_backend/instance_seg/pix_embedding_conv/pix_embedding_conv:0,LaneNet/bisenetv2_backend/binary_seg/ArgMax:0 --opset 11
# 成功在项目下生成lanenet.onnx
# 方式2生成的pb转onnx
python -m tf2onnx.convert --input ./lanenet.pb --output ./lanenet.onnx --inputs lanenet/input_tensor:0 --outputs lanenet/final_binary_output:0,lanenet/final_pixel_embedding_output:0 --opset 11
```
#3.ONNX序列化Engine
```shell
trtexec --onnx=lanenet.onnx --saveEngine=lanenet.engine --verbose
```
#4.恭喜你成功了!
在TensorRT-8.2.1.8/bin下生成了`lanenet.engine` 恭喜你,序列化engine成功了!!!
### 3.LaneNet TensorRT C++模型加速代码实现
+ 找到了网上聚类算法的开源实现:https://github.com/CallmeNezha/SimpleDBSCAN
+ 后处理部分参考了LaneNet MNN实现的一些代码,并做了重构: https://github.com/MaybeShewill-CV/MNN-LaneNet
+ TensorRT可以正常推断,后处理结果正确!!!
### 4.Demo
原图:
![](docs/3.jpg)
二值化mask:
![](docs/binary_ret.png)
车道线实例分割结果:
![](docs/instance_ret.png)
结果放在原图中:
![](docs/res.jpg)
### 5.TODO
[ ] 优化DBscan基于密度的聚类算法,使之更快!!!
没有合适的资源?快使用搜索试试~ 我知道了~
基于Tensorflow实现的车道线检测c++源码+文档说明+模型+结构图+结果演示
共17个文件
h:3个
cpp:2个
jpg:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 85 浏览量
2024-01-26
20:09:09
上传
评论
收藏 465KB ZIP 举报
温馨提示
<项目介绍> 1.下载模型配置环境 在官网下载预训练的模型,backbone为bisenetV2 创建虚拟环境安装必要的包,因为tensorflow只作为测试我们预安装tensorflow而非tensorflow-gpu conda create -n tf15 python=3.7 conda activate tf15 pip install -r rqw - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
lanenet-tensorrt-main.zip (17个子文件)
lanenet-tensorrt-main
postprocess
kdtree.h 5KB
kdtree.cpp 12KB
dbscan.hpp 11KB
lanenettrt.cpp 16KB
tools
print_graph.py 4KB
freeze_graph.py 3KB
logging.h 17KB
lanenettrt.vcxproj 9KB
mytimer.h 644B
docs
binary_ret.png 2KB
res.jpg 209KB
instance_ret.png 6KB
3.jpg 234KB
requirements.txt 197B
lanenettrt.vcxproj.user 162B
README.md 3KB
lanenettrt.vcxproj.filters 1KB
共 17 条
- 1
资源评论
机器学习的喵
- 粉丝: 1719
- 资源: 2009
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功