基于深度神经网络LaneNet的车道线检测及ROS实现----笔记

11 篇文章 1 订阅
7 篇文章 0 订阅

本文的参考博客:

https://adamshan.blog.csdn.net/article/details/90578382

ros源代码:

https://github.com/AbangLZU/LaneNetRos

原博客分享的模型权重下架了,故又在网上找到了个模型权重分享下:

在github上找到的:
https://github.com/MaybeShewill-CV/lanenet-lane-detection
模型下载地址:
https://www.dropbox.com/sh/0b6r0ljqi76kyg9/AADedYWO3bnx4PhK1BmbJkJKa?dl=0

讲模型权重放在model/new_model文件夹下面:
在这里插入图片描述
lanenet.launch文件中查看加载模型的位置是否需要更改:

<launch>

    <arg name="image_topic" default="/kitti/camera_color_left/image_raw"/>
    <arg name="output_image" default="/lane_images"/>
    <arg name="output_lane" default="/Lane"/>
    <!-- <arg name="weight_path" default="$(find lane_detector)/model/tusimple_lanenet/tusimple_lanenet_vgg_2018-10-19-13-33-56.ckpt-200000"/> -->
    <arg name="weight_path" default="$(find lane_detector)/model/new_model/tusimple_lanenet_vgg.ckpt"/>

    <arg name="use_gpu" default="1"/>
    <arg name="lane_image_topic" default="/lane_image"/>

    <node pkg="lane_detector" type="lanenet_node.py" name="lanenet_node" output="screen">
        <param name="image_topic" value="$(arg image_topic)" />
        <param name="output_image" value="$(arg output_image)" />
        <param name="output_lane" value="$(arg output_lane)" />
        <param name="weight_path" value="$(arg weight_path)" />
        <param name="use_gpu" value="$(arg use_gpu)" />
        <param name="lane_image_topic" value="$(arg lane_image_topic)" />
    </node>
</launch>

一定要注意launch中加载的模型权重文件名的格式

编译和运行

在进行完上面的步骤应该是可以编译成功的,但是python中用到了tensorflow,所以需要进行tensorflow相关的配置,均在Python2.7下使用pip进行安装。

>>> import tensorflow as tf
>>> tf.__version__
'1.10.0'
>>> import pandas
>>> pandas.__version__
u'0.22.0'
>>> import numpy as np
>>> np.__version__anz
'1.14.3'

easydict == 1.6
opencv_python == 3.4.1.15
glog == 0.3.1
matplotlib == 2.0.2
scikit_learn == 0.19.1

装完之后,发现还是运行不了

https://github.com/AbangLZU/LaneNetRos/issues/9

更改文件
LaneNetRos/scripts/semantic_segmentation_zoo/vgg16_based_fcn.py

将下面的93~133进行更改:
在这里插入图片描述
找到源文件

https://github.com/MaybeShewill-CV/lanenet-lane-detection/blob/master/semantic_segmentation_zoo/vgg16_based_fcn.py

更改为:

            deconv_weights_stddev = tf.sqrt(
                tf.divide(tf.constant(2.0, tf.float32),
                          tf.multiply(tf.cast(previous_kernel_size * previous_kernel_size, tf.float32),
                                      tf.cast(tf.shape(input_tensor)[3], tf.float32)))
            )
            deconv_weights_init = tf.truncated_normal_initializer(
                mean=0.0, stddev=deconv_weights_stddev)

            deconv = self.deconv2d(
                inputdata=input_tensor, out_channel=out_channels_nums, kernel_size=kernel_size,
                stride=stride, use_bias=use_bias, w_init=deconv_weights_init,
                name='deconv'
            )

            deconv = self.layerbn(inputdata=deconv, is_training=self._is_training, name='deconv_bn')

            deconv = self.relu(inputdata=deconv, name='deconv_relu')

            fuse_feats = tf.add(
                previous_feats_tensor, deconv, name='fuse_feats'
            )

这样,就可以成功运行roslaunch了!!!

安装kitti2bag

这个不太难,主要是pandas要和上面安装的版本一致!!!
下载kitti数据集

http://www.cvlibs.net/datasets/kitti/raw_data.php

在这里插入图片描述
在这里插入图片描述
将kitti数据集转为bag包:

tang@ubuntu:~/kitti_ws$ kitti2bag -t 2011_09_26 -r 0057 raw_synced .

查看效果

rqt

在这里插入图片描述
然后,查看相关话题就可以了!!!

  • 2
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值