首页 > 编程语言 >基于模仿学习的自动泊车运动规划算法 ResNet+BERT分类模型

基于模仿学习的自动泊车运动规划算法 ResNet+BERT分类模型

时间:2024-10-22 15:52:03浏览次数:9  
标签:BERT 障碍物 小车 模型 位置 ResNet 384 泊车

本文使用ResNet+BERT分类模型来实现APA自动泊车算法

首先定义模型的输出动作类别

类别名

说明

S0

停车

S+

直行前进单位距离

S-

直行后退单位距离

L+

左转前进单位角度

L-

左转后退单位角度

R+

右转前进单位角度

R-

右转后退单位角度

设单位距离为0.05米,单位角度为0.5度。为了降低复杂性,在转弯过程中,方向盘都打到底。

接下来定义模型的输入: 1、障碍物的位置 2、小车的当前位置以及目标位置 3、附加状态:例如上次执行的动作

在本实验中,使用384×384像素的图片来表示障碍物的位置、小车的当前位置以及目标位置,在输入BERT分类模型前需先将2D图片转为1D序列,如下所示:

(B, C_in, 384, 384) -- ResNet --> (B, C, 24, 24) -- Rearrange --> (B, 576, C)


在建模过程中,主要考虑以下参数:

参数名

车长 Vehicle Length

4.360米

车宽 Vehicle Width

1.785米

轴距 Wheelbase

2.535米

前轮距 Front Track Width

1.525米

后轮距 Rear Track Width

1.535米

前悬 Front Suspension

0.840米

后悬 Rear Suspension

0.985米

最小转弯半径 Minimum Turning Radius

5.5米

由于算力有限,在生成图片时使用较低的分辨率(20像素/米)。设小车后轴的中心点为小车原点

这个项目中唯一比较麻烦的部分就是训练数据的合成,因为自动泊车的场景太多(例如倒车入库、侧方位停车、斜方位停车),需要针对每一种场景开发对应的数据合成代码。经过几天的开发,我也只合成了几种简单场景下的训练数据,可视化效果如下:

添加图片注释,不超过 140 字(可选)

上图中,黑色为障碍物位置,红色为小车当前位置,绿色为小车目标位置

从起始位置到目标位置,小车需执行一系列的动作,例如:

R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-L-

为什么要连续密集决策,而不是在一次决策中让小车移动更长的距离呢?因为在现实中存在着不确定性,比如在泊车过程中小车旁边有人行走。

若不考虑附加状态,则模型输入可表示为(3, 384, 384)的张量,其中通道0为小车当前位置,通道1为小车目标位置,通道2为障碍物位置,模型输出为小车下一步该执行的动作类别,如图所示:

输出动作类别:R-

可以看到问题简化成了一个普通的图像分类问题,我觉得不用BERT模型只用ResNet图像分类模型也是值得尝试的,但考虑到在实际项目中,模型的输入可能来自摄像头、激光雷达、超声波雷达等多个传感器的组合,加入BERT模型后有利于融合多模态的数据。

有了训练数据,接下来就可以训练模型了。训练方法跟普通的图像分类几乎一样,需要一张不低于16G显存的显卡,经过30个小时的训练,得到模型V1.1。

下面对模型V1.1进行指标测试

首先定义泊车成功标准: 1、不与障碍物发生碰撞 2、在规定的步数(800步)内到达目标位置。允许有轻微的偏差,小车当前位置与目标位置的距离小于0.16米,夹角小于1.6度,这里的距离为小车原点之间的距离 随机生成1000条测试样本,统计成功率。测试结果如下: 成功876个,失败124个(其中5个与障碍物发生了碰撞,119个在规定的步数内未到达目标位置)

泊车成功率为87.6%左右,如果增加训练时间,还可以提升成功率。让我们先看看泊车失败的例子 1、在规定的步数内未到达目标位置,具体又分下面几种情况 1.1、 靠近目标位置,有偏差但偏差不大,这种占绝大部分

1.2、分不清车头车尾

1.3、偏差较大,这种比例很少

2、与障碍物发生了碰撞

从失败的例子可以看出要想提升泊车成功率,还必须增加训练样本的多样性,让模型“见多识广”。我觉得不应该过分要求模型每次转向的时机都刚刚好,而应该在轨迹出现偏差时让模型学会如何调整。

由于在写这篇文章前,本人对无人驾驶技术了解的很少,因此文中难免有错误之处,欢迎读者在评论区指出。 参考文章

下一篇:基于模仿学习的自动泊车运动规划算法 Training Data Is All You Need

标签:BERT,障碍物,小车,模型,位置,ResNet,384,泊车
From: https://blog.csdn.net/weixin_42885381/article/details/143035190

相关文章

  • NLP经典论文【BERT】最全详细翻译【人工校正版】
    ......
  • 基于卷积神经网络的乳腺癌细胞识别系统,resnet50,mobilenet模型【pytorch框架+python源
     更多目标检测和图像分类识别项目可看我主页其他文章功能演示:卷积神经网络,乳腺癌细胞识别系统,resnet50,mobilenet【pytorch框架,python】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的乳腺癌细胞识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模......
  • ResNet论文精读
    ResNet是一种深度卷积神经网络架构,由微KaimingHe等人于2015年提出。ResNet的核心在于引入了残差学习的概念,通过构建残差块来解决深度神经网络训练中的梯度消失和梯度爆炸问题,从而使得训练非常深的网络成为可能。左图为普通结构,右图是ResNet的基础架构–残差块,在残差块中,......
  • 车易泊车位管理相机 —— 智能管理,停车无忧
    在现代城市生活中,停车问题一直是困扰着车主和城市管理者的难题。车位难找、停车管理混乱等问题不仅浪费了人们的时间和精力,也影响了城市的交通秩序和形象。而车易泊车位管理相机的出现,为解决这些问题提供了一种高效、智能的解决方案。一、车易泊车位管理相机的功能与特点......
  • 神经网络之卷积篇:详解残差网络为什么有用?(Why ResNets work?)
    详解残差网络为什么有用?为什么ResNets能有如此好的表现,来看个例子,它解释了其中的原因,至少可以说明,如何构建更深层次的ResNets网络的同时还不降低它们在训练集上的效率。通常来讲,网络在训练集上表现好,才能在Hold-Out交叉验证集或dev集和测试集上有好的表现,所以至少在训练集上训练......
  • BERT模型
    BERT(BidirectionalEncoderRepresentationsfromTransformers)是一种预训练自然语言处理模型,由Google在2018年提出。BERT模型在自然语言处理领域取得了显著的进展,尤其在理解语言含义方面表现卓越。以下是BERT模型的介绍和原理:BERT模型介绍模型结构:BERT模型基于Transformer的编码器......
  • 神经网络之卷积篇:详解残差网络(ResNets)(Residual Networks (ResNets))
    详解残差网络ResNets是由残差块(Residualblock)构建的,首先解释一下什么是残差块。这是一个两层神经网络,在\(L\)层进行激活,得到\(a^{\left\lbrackl+1\right\rbrack}\),再次进行激活,两层之后得到\(a^{\left\lbrackl+2\right\rbrack}\)。计算过程是从\(a^{[l]}\)开始,首先进......
  • 笨方法实现resnet18
    importtorchclassmyResNet(torch.nn.Module):def__init__(self,in_channels=3,num_classes=10):super(myResNet,self).__init__()#第1层self.conv0_1=torch.nn.Conv2d(in_channels,64,kernel_size=7,stride=2,padding=3)......
  • 第十期机器学习基础 02注意力机制和Transformer/Bert
    一:注意力机制(一)前提背景1.人类的选择性视觉注意力视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无......
  • 基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet模型【pytorch框架+python】
       更多目标检测和图像分类识别项目可看我主页其他文章功能演示:基于卷积神经网络的脊柱骨折识别系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的脊柱骨折识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据......