自动驾驶系统进阶与项目实战(三)基于全卷积神经网络的点云三维目标检测和ROS实战

自动驾驶系统进阶与项目实战(三)基于全卷积神经网络的点云三维目标检测和ROS实战

前面入门系列的文章中我介绍了几种点云三维分割/目标检测模型,在做点云预处理上,有通过球面投射(SqueezeNet)得到深度图的,也有采用Voxel网格的(VoxelNet),本文我们一起学习一下百度开源的cnn_seg点云三维语义分割神经网络,该模型被集成于Apollo的perception模块,并且自Apollo 3.0开始一直是Apollo体系下用于障碍物检测的主力模型,在Apollo 5.0以后甚至release出了128线的模型。本文我们将基于ROS进行该网络的实践,该网络由于采用了百度自身的大规模数据集训练得到,其性能(分类鲁棒性、边缘拟合度)远胜于我们前面介绍的使用KITTI数据集训练的神经网络,但是该神经网络对GPU性能要求较高,需要GTX1080及以上的显卡才能够维持10Hz的inference频率;

在这里插入图片描述

项目源代码以及测试数据见文末链接,本实例修改自Apollo Perception模块以及Autoware的lidar_apollo_cnn_seg_detect模块,在两个项目的基础上做出了改进并且解决了一些Bug,如果文章和代码对你有用的话就点个赞吧!

全卷积神经网络介绍

全卷积神经网络使用卷积层替换了卷积神经网络中的全连接层,下图是一个全卷积神经网络的结构示意图,全卷积神经网络通常由编码器网络、解码器网络和预测网络构成,编码器网络由一系列的卷积层构成,主要起到特征提取和表示学习的作用,通常使用预训练的VGG、ResNet等分类网络作为编码器网络。下图中每个卷积层实际上包含了卷积运算和非线性激活函数两个部分,在卷积层之间,通过池化操作不断压缩特征图的尺寸,对于一个输入尺寸为

猜你喜欢

转载自blog.csdn.net/AdamShan/article/details/106157761