当前位置:首页 » 操作系统 » 无人驾驶算法

无人驾驶算法

发布时间: 2023-05-23 02:14:37

㈠ 无人驾驶(二)行人检测算法

姓名:王梦妮

学号:20021210873

学院:电子工程学院

【嵌牛导读】本文主要介绍了无人驾驶中所需的行人检测算法

【嵌牛鼻子】无人驾驶 环境感知 计算机视觉 SVM Adaboost算法 R.CNN

【嵌牛提问】无人驾驶中所用到的行人检测算法有哪些

【嵌牛正文】

在同样的交通路况下,无人车通过对自身运动状态及行驶环境信息进行分析,决策出最佳行驶策略和行驶方案代替驾驶员完成一系列驾驶冲升拆行为,从而降低道路交通事故的发生率。而在无人驾驶中最为重要的技术便是环境感知,而在城市道路上有大量的行人出行,只有准确快速地检测出行人与对其进行跟踪,才能避免车撞人。

计算机视觉是研究赋予机器“人眼”功能的科学,通过多个传感器来获取一定范围内的色彩数据,用算法分析得到的数据从而理解周围环境,这个过程模拟了人眼以及大脑的处理过程,从而赋予机器视觉感知能力。现有的行人检测技术大多都是检测照片中的行人目标,这种照片的拍摄大多是拍摄的静止目标,图像的分辨率和像素点包含的语义信息都及其丰富,对应的算法在这样的图片上往往能取得理想的效果,但是用于无人车的“眼睛”,算法的鲁棒性就表现的非常差。这是因为在实际的道路环境中,摄像头需要搭载的车身上,在行进过程中跟随车以一定的速度移动,并且在实际道路中,行人目标往往是在运动的,由此提取出拍摄视频中的一帧就会出现背景虚化,造成像素点包含的语义信息大量减少,增加了行人检测的难度。

行人检测是计算机视觉领域的一个重要研究课题。在实际生活中,行人大多处于人口密集、背景复杂笑拦的城市环境中,并且行人的姿态各不相同,如何将行人从色彩丰富、形状相似的环境中快速准确地提取出来,是行人检测算法的难点。

行人检测算法分为两大类,一散枣类是基于传统图像处理,另一类是基于深度学习的方法。近年来随着计算机计算速度的大幅提升,基于深度学习的方法有着越来越高的检测速度与检测精度,在行人检测领域应用越加广泛。

(一)基于传统图像处理的行人检测算法

使用传统的图像处理方法来做行人检测一般都是由两个步骤组成,第一就是需要手工设计一个合理的特征,第二就是需要设计一个合理的分类器。手工设计特征就是找到一种方法对图像内容进行数学描述,用于后续计算机能够区分该图像区域是什么物体,分类器即是通过提取的特征判断该图像区域属于行人目标还是属于背景。在传统的图像处理领域,手工特征有许多种,比如颜色特征、边缘特征(canny算子和sobel算子)以及基于特征点的描述子(方向梯度直方图)等。 学者们一致认为方向梯度直方图是最适合行人检测的人工特征,其主要原理是对图像的梯度方向直方图进行统计来表征图像。该特征是由Dalal于2005提出的,并与SVM分类器相结合,在行人检测领域取得了前所未有的成功。

传统的行人检测方法首先需要通过提取手工设计特征,再使用提取好的特征来训练分类器,得到一个鲁棒性良好的模型。在行人检测中应用最广泛的分类器就是SVM和Adaboost。SVM分类器就是要找到一个超平面用来分割正负样本,这个超平面的满足条件就是超平面两侧的样本到超平面的距离要最大,即最大化正负样本边界。下图即为线性SVM的示意图。

Adaboost分类算法的主要原理不难理解,就是采用不同的方法训练得到一系列的弱分类器,通过级联所有的弱分类器来组成一个具有更高分类精度的强分类器,属于一种迭代算法。原理简单易于理解且有着良好的分类效果,唯一不足就是练多个弱分类器非常耗时。下图为面对一个二分类问题,Adaboost算法实现的细节。

           

 

(二)基于深度学习的行人检测算法

    近年来,随着硬件计算能力的不断增强,基于卷积神经网络的深度学习飞速发展,在目标检测领域取得了更好的成绩。卷积神经网络不再需要去手动设计特征,只需要将图片输入进网络中,通过多个卷积层的卷积操作,提取出图像的深层语义特征。要想通过深度学习的方法得到一个性能良好的模型,需要大量的样本数据,如果样本过少,就很难学习到泛化能力好的特征,同时在训练时,由于涉及到大量的卷积操作,需要进行大量计算,要求硬件设备具有极高的算力,同时训练起来也很耗时。随着深度学习的飞速发展,越来越多基于深度学习的模型和方法不断被提出,深度学习在目标检测领域会有更加宽广的发展空间。

Ross Girshick团队提出了R.CNN系列行人检测算法,其中Faster R—CNN 算法通过一个区域提议网络来生成行人候选框,在最后的特征图上滑动来确定候选框。Faster RCNN是首个实现端到端训练的网络,通过一个网络实现了特征提取、候选框生成、边界框回归和分类,这样的框架大大提高了整个网络的检测速度。 He Kaiming等人在2017年提出Mask R—CNN算法,该算法改进了Faster·R—CNN, 在原有的网络结构上增加了一个分支进行语义分割,并用ROI Align替代了ROI Pooling,取得了COCO数据集比赛的冠军。

㈡ 无人驾驶的核心是什么是如何运行的

4级或5级的自主驾驶很难有一个明确的标准来定义,自主驾驶应该不复杂。自动驾驶其实涉及三个问题:一、我在哪里?第二,我要去哪里?第三是怎么去。这三个问题的完整解决方案就是真正的自动驾驶。所以特斯拉升级的8000美元自动驾驶2.0只有部分线控功能,并不是真正的自动驾驶。福特、网络、谷歌做的都是真正的自动驾驶,远超特斯拉,两者差别巨大。

机器人定位有三种常见的类型:相对定位、绝对定位和组合定位。自动驾驶一般采用组合定位。首先,本体感受传感器如里程计和陀螺仪测量相对于机器人初始姿态的距离和方向,以确定机器人的当前姿态,这也称为轨迹估计。然后使用激光雷达或视觉感知环境,使用主动或被动识别、地图匹配、GPS或导航信标进行定位。位置的计算方法包括三角测量、三边测量和模型匹配算法。从这个角度来说,IMU也是自动驾驶必不可少的一部分。

同时,机器人定位实际上是一个概率问题和哗数,所以机器人定位算法有两个流派,一个是卡尔曼滤波,一个是贝叶斯推理。有扩展卡尔曼滤波器(EKF)、卡尔曼滤波器(KF)和无迹卡尔曼滤波器(UKF)。另一种是基于贝叶斯推理的定位方法。网格和粒子用于描述机器人位置空间,递归计算状态空间中的概率分布,如马尔可夫定位(MKV)和蒙特卡罗定位(MCL)。

在地图匹配中,必须有一个优先地图与之比较。这张地图不一定是厘米级高精度地图。有必要谈谈地图,它可以分为四类,即度量、拓扑、传感器和语义。我们最常见的地图是语义级地图。无人驾驶不是导弹。一般输入目的地应该是语义层面。毕竟人类的交通方式是语义层面,不是地理坐标。这是机器人和无人驾驶的区别之一。机器人一般不考虑语义,只需要知道自己在坐标系中的位置。全球定位系统提供全球坐标系的度量。未来,V2X将提供雷达和视觉探测距离(NLOS)之外的特定物体(移动的行人和汽车)的地图,或V2X地图。目前国内处于研究阶段的无人车大多采用GPS RTK定位,必须配合厘米级高精度地图才能获得语义信息,不可能做到真正的无人。

㈢ slam算法是什么

SLAM是Simultaneous localization and mapping缩写,意为“同步定位与建图”,主要用于解决机器人在未知环境运动时的定位与地图构建问题。

Simultaneous Localization and Mapping (SLAM)原本是Robotics领域用来做机器人定位的,最早的SLAM算法其实是没有用视觉camera的(Robotics领域一般用Laser Range Finder来做SLAM)。

SLAM对实时性要求比较高,而要做则氏洞到比较精确、稳定、可靠、适合多种场景的方案一般计算量相对较大,目前移动式设备的计算能力还不足够支撑这么大的计算量,为了达到实时性能,往往需要在精确度和稳定性上做些牺牲。

因此在具体的应用中,往往需要根据移动设备所具有的传感器组合、计算能力、用户场景等,选择和深度定制合适的SLAM算法。比如,无人驾驶汽车和手机端AR类应用的SLAM算法就非常不同。

SLAM的典型应用领域

机器人定位导航领域:地图建模。SLAM可以辅助机器人执行路径规划、自主探索、导航等任务。国内的科沃斯、塔米以及最新面世的岚豹扫地机器人都可以通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。

VR/AR方面:辅助增强视觉效果。SLAM技术能够构建视觉效果更为真实的地图,从而针对当前视角渲染虚拟物体的叠加效果,使之更真实没有违和感。VR/AR代表性产品中微软Hololens、谷歌ProjectTango以及MagicLeap都应用了SLAM作为视觉增强手段。

无人机领域:地图建模。SLAM可以快速构建局部3D地图,并与地理信息系统(GIS)、视觉对象识别技术相结合,可以辅助无人机识别路障并自动避障规划路径,曾经刷爆核升美国朋友圈的Hovercamera无人机,就应用到了SLAM技术。

无人孙枯驾驶领域:视觉里程计。SLAM技术可以提供视觉里程计功能,并与GPS等其他定位方式相融合,从而满足无人驾驶精准定位的需求。例如,应用了基于激光雷达技术Google无人驾驶车以及牛津大学MobileRoboticsGroup11年改装的无人驾驶汽车野猫(Wildcat)均已成功路测。

以上内容参考:slam路径规划算法 - CSDN

㈣ 无人驾驶(三)行人跟踪算法

姓名:王梦妮

学号:20021210873

学院:电子工程学院

【嵌牛导读】本文主要介绍了无人驾驶中所需的行人跟踪算法

【嵌牛鼻子】无人驾驶 环境感知 计算机视觉 卡尔曼滤波 粒子滤波 均值漂移

【嵌牛提问】无人驾驶中所用到的行人跟踪算法有哪些

【嵌牛正文】

行人跟踪一直是视觉领域的一个难点,实际应用环境复杂、遮挡以及行人姿态变化等外界因素都影响着行人跟踪算法的研究。行人跟踪算法模型主要分为生成模型和判别模型。

(一)生成式模型

生成式模型是一种通过在线学习行人目标特征,建立行人跟踪模型,然后使用模型来搜索误差最小的目标区域,从而完成对行人的跟踪。这种算法在构建模型只考虑了行人本身的特征,忽略了背景信息,没有做到有效利用图像中的全部信息。其中比较经典的算法主要有卡尔曼滤波,粒子滤波,mean-shift等。

(1)卡尔曼滤波算法

卡尔曼滤波算法是一种通过对行人构建状态方程和观测方程为基础,计算最小均方误差来实现跟踪的最优线性递归滤波算法,通过递归行人的运动状态来预测行人轨迹的变化。

首先设定初始参数,读取视频序列。然后进行背景估计,产生初始化背景图像。然后依次读取视频序列,利用Kahnan滤波算法,根据上一帧估计的背景和当前帧数据得到当前帧的前景目标。然后对前景目标进行连通计算,检测出运动目标的轨迹。经典的卡尔曼滤波算法.只能对线性运动的行人实现跟踪,之后学者改进了卡尔曼滤波算法,能够实现对非线性运动的行人进行跟踪,计算量小,能实现实时跟踪,但是跟踪效果不理想。

(2)粒子滤波

    粒子滤波的核心就是贝叶斯推理和重要性采样。粒子滤波可用于非线性非高斯模型,这是由于贝叶斯推理采用蒙特卡洛法,以某个时间点事件出现的频率表示其概率。通过一组粒子对整个模型的后验概率分布进行近似的表示,通过这个表示来估计整个非线性非高斯系统的状态。重要性采用就是通过粒子的置信度来赋予不同的权重,置信度高的粒子,赋予较大的权重,通过权重的分布形式表示相似程度。

(3)均值漂移(mean-shift)

    Mean-shift算法属于核密度估计法。不必知道先验概率,密度函数值由采样点的特征空间计算。通过计算当前帧目标区域的像素特征值概率来描述目标模型,并对候选区域进行统一描述,使用相似的函数表示目标模型与候选模板之间的相似度,然后选择在具有相似函数值最大的候选模型中,您将获得关于目标模型的均值漂移向量,该向量表示目标从当前位置移动到下一个位置的向量。通过连续迭代地计算均值偏移矢量,行人跟踪算法将最终收敛到行人的实际位置,从而实现行人跟踪。

(二) 判别式模型

判别模型与生成模型不同,行人跟踪被视为二分类问题。提取图像中的行人和背景信息,并用于训练分类器。通过分类将行人从图像背景中分离出来,以获取行人的当前位置。以行人区域为正样本,背景区域为负样本,通过机器学习算法对正样本和负样本进行训练,训练后的分类器用于在下一帧中找到相似度最高的区域,以完成行人轨迹更新。判别式模型不像生成式模型仅仅利用了行人的信息,还利用了背景信息,因此判别式模型的跟踪效果普遍优于生成式模型。

(1)基于相关滤波的跟踪算法

      核相关滤波(KCF)算法是基于相关滤波的经典跟踪算法,具有优良的跟踪效果和跟踪速度。这是由于其采用了循环移位的方式来进行样本生产,用生成的样本来训练分类器,通过高斯核函数来计算当前帧行人与下一帧中所有候选目标之间的相似概率图,找到相似概率图最大的那个候选目标,就得到了行人的新位置。KCF算法为了提高跟踪精度,使用HOG特征对行人进行描述,同时结合了离散傅里叶变换来降低计算量。

(2)基于深度学习的跟踪算法

    近年来,深度学习在图像和语音方面取得了较大的成果,因此有许多科研人员将深度学习与行人跟踪相结合,取得了比传统跟踪算法更好的性能。DLT就是一个基于深度学习的行人跟踪算法,利用深度模型自动编码器通过离线训练的方式,在大规模行人数据集上得到一个行人模型,然后在线对行人进行跟踪来微调模型。首先通过粒子滤波获取候选行人目标,然后利用自动编码器进行预测,最终得到行人的预测位置即最大输出值的候选行人目标位置。2015年提出的MDNet算法采用了分域训练的方式。对于每个类别,一个单独的全连接层用于分类,并且全连接层前面的所有层都是共享,用于特征提取。2017年提出的HCFT算法使用深度学习对大量标定数据进行训练,得到强有力的特征表达模型,结合基于相关滤波的跟踪算法,用于解决在线进行跟踪过程中行人样本少、网络训练不充分的问题。此外,通过深度学习提取特征,利用数据关联的方法来实现跟踪的算法,其中最为着名的就JPDAF与MHT这两种方法。

㈤ 基于行人轨迹预测的无人驾驶汽车主动避撞的算法是什么

首先要了解行人步行的意图,要预测行人之后的运动轨迹,要通过行人图像信息的方式确定位置,之后传给车载传感器,要提高行车安全问题,还应该保证道路的正常通行,要预防转移的可能性,要预测最佳的动态状态。

㈥ 人工智能在无人驾驶的应用

人工智能在无人驾驶中的具体应用
人工智能技术是无人纳扰驾驶发展的基础,并且在系统上有着大量的应用,可以说是密不可分。这其中主要分为三大部分:环境感知模块、决策规划模块以及控制执行模块。
(1)环境感知模块
作为无人驾驶中最重要的一环,它的发展往往决定了无人驾驶的应用程度。无人驾驶最重要的迟茄氏就是实时感知周围环境信息,以便及时获取数据信息,这些都是由传感器完成的,比如摄像头、激光雷达、毫米波雷达、超声波传感器[4],无论是在熟悉的环境还是新环境,汽车可根据这些传感器数据做聚类处理,并利用各种算法对周围进行车道线或标志物检测,并通过系统内的分析模块来分析。唯一的不足就是已有的自身感知技术无法达到较高精度,只能通过GPS获取车身状态信息,位置来进行导航。
(2)决策规划模块
根据传感器传回的实时路网信息、交通环境信息和自身驾驶状态等信息,无人驾驶系统通过分析来产生决策,比如遵守交通规则(包括突发异常状况)的安全快速的自动驾驶决策[5]。这与最近刚出现的5G技术有关,由于无人驾驶码散技术在道路上会有巨量的实时数据进行传输和获取,原本的网络技术已经满足不了这种需求,5G就合理的应用起来,既更加保证了行驶的安全,也加速了该技术的发展。
(3)控制执行模块
根据规划的行驶轨迹,以及当前行驶的位置、姿态和速度,产生对油门、刹车、方向盘和变速杆等的控制命令。传统控制方法有PID 控制、滑模控制、模糊控制、模型预测控制等[6]。如较低等级的汽车定速巡航到现在的无人驾驶都是这一模块控制的具体体现。

热点内容
emobile7服务器地址如何查看 发布:2025-04-22 22:32:51 浏览:763
房间的秘密码是什么 发布:2025-04-22 22:32:43 浏览:121
文件夹前面多了选择框 发布:2025-04-22 22:32:40 浏览:704
迅雷网ftp 发布:2025-04-22 22:30:02 浏览:622
鼠标驱动源码 发布:2025-04-22 22:29:55 浏览:768
如何开发android应用 发布:2025-04-22 22:18:55 浏览:880
医保卡密码从哪里看 发布:2025-04-22 22:14:34 浏览:260
地铁逃生安卓更新后为什么进不去 发布:2025-04-22 22:13:49 浏览:443
java枚举使用 发布:2025-04-22 22:06:56 浏览:257
分解压与K 发布:2025-04-22 22:06:40 浏览:836