自动驾驶汽车如何使用计算机视觉来观察?
已发表: 2021-02-08当今世界,对自主机器人或车辆的需求呈指数级增长,同时定位与地图绘制 (SLAM) 的应用越来越受到广泛关注。 首先,自动驾驶汽车有一堆传感器,如摄像头、激光雷达、雷达等。
在车辆对其下一个运动状态做出任何关键决定之前,这些传感器会分析车辆周围的环境。 从激光雷达和相机数据中创建定位地图。 它可以是 2D 或 3D 地图。 该地图的目的是识别自动驾驶车辆周围的静态对象,如建筑物、树木等。通过移除在检测到的动态对象的边界框中找到的所有激光雷达点来移除所有动态对象。 了解有关AI 应用的更多信息
不会干扰车辆的静态物体也会被移除,例如可行驶的表面或树枝。 建立网格后,我们可以预测车辆的无碰撞路径。 SLAM 的重要元素之一是环境的 3DMapping,它有助于自主机器人像人类一样理解环境,许多深度摄像头或 RGB-D 摄像头证明对环境很有价值。
为了让自动驾驶汽车有效导航,它们需要一个参考框架,并使用计算机视觉算法观察周围环境,以勾勒出周围环境的地图并穿越轨道。 3D 重建包括使用计算机视觉使用基于深度的 3D 点云来观察外部环境。
因此,基本原理是 3D 重建与自主导航的结合点。 对 3D 解决方案的兴趣增加,需要一个能够感知周围环境并构建相应环境的 3D 投影的完整解决方案。
计算机视觉算法用于实现机器人自动化或生产 3D 设计的实践非常普遍。 同步定位和映射难题已经持续了很长时间,并且正在进行大量研究以找到解决映射问题的有效方法。

目前该领域的研究使用昂贵的相机来生成视差图和深度图,虽然更准确,但仍然很昂贵。 不同的方法涉及利用立体视觉相机来确定周围物体的深度,进而用于生成 3D 点云。
目录
环境表示图的类型
- 定位地图:它是在汽车移动时使用一组激光雷达点或相机图像特征创建的。 定位模块使用此地图以及 GPU、IMU 和里程计来估计自动驾驶车辆的精确位置。 当接收到新的激光雷达和摄像头数据时,会将其与定位地图进行比较,并通过将新数据与现有地图对齐来创建自动驾驶汽车位置的测量。
- Occupancy Grid Map :该地图使用一组连续的 LIDAR 点来构建地图环境,指示所有静态对象的位置,用于为自动驾驶车辆规划安全的无碰撞路径。
需要注意的是,点云中动态对象的存在会阻碍点云的准确重建。 这些动态对象阻止了对周围环境的实际重塑。 出于同样的目的,制定解决此问题的解决方案也很重要。
主要目的是使用深度学习识别这些动态对象。 一旦识别出这些对象,就可以丢弃包围该边界框的点。 这样,重建的模型将完全是静态对象。
RGB-D 相机可以使用红外传感器测量深度。 如此获得的输出是图像数据(RGB 值)和深度数据(物体距离相机的范围)。 由于深度必须准确,任何不匹配都可能导致致命事故。 出于这个原因,相机的校准方式可以产生对周围环境的准确测量。 深度图通常用于验证计算的深度值的准确性。
深度图是周围环境的灰度输出,其中靠近相机的物体拥有较亮的像素,而远离相机的物体拥有较暗的像素。 从相机获得的图像数据被传递到对象检测模块,该模块识别帧中存在的动态对象。
那么,我们如何识别您可能会问到的这些动态对象?
在这里,训练一个深度学习神经网络来识别动态对象。 如此训练的模型会遍历从相机接收到的每一帧。 如果存在已识别的动态对象,则跳过这些帧。 但是,这个解决方案有一个问题。 跳过整个帧没有意义。 问题是——信息保留。

为了解决这个问题,只消除了边界框像素,而保留了周围的像素。 然而,在与自动驾驶汽车和自动送货无人机相关的应用中,该解决方案被提升到了另一个层次。 请记住,我曾提到我们使用 LIDAR 传感器获得周围环境的 3D 地图。
之后,使用深度学习模型(3D CNN)消除 3D 帧(x、y、z 轴)中的对象。 这些神经网络模型有两种形式的输出。 一种是预测输出,它是识别对象的概率或可能性。 其次是边界框坐标。 请记住,所有这些都是实时发生的。 因此,有一个良好的基础设施来支持这种处理是非常重要的。
除此之外,计算机视觉在识别路牌方面也发挥着重要作用。 有一些模型可以结合运行来检测各种类型的街道标志——限速、警告、限速器等。同样,训练有素的深度学习模型用于识别这些生命体征,以便车辆可以采取相应的行动。
对于车道线检测,计算机视觉以类似的方式应用
任务是产生车道线方程的系数。 车道线方程可以使用一阶、二阶或三阶系数来表示。 一个简单的一阶方程就是一个 mx+n 类型的线性方程(一条直线)。 代表曲线的高维方程具有更大的功率或阶数。
数据集并不总是一致的,并建议车道线系数。 此外,我们可能还想识别线的性质(实线、虚线等)。 我们可能想要检测许多特征,单个神经网络几乎不可能概括结果。 解决这种困境的常用方法是采用分割方法。

在分割中,目的是为图像的每个像素分配一个类别。 在这种方法中,每条车道都类似于一个类,神经网络模型旨在生成由不同颜色组成的车道图像(每条车道都有其独特的颜色)。
另请阅读:人工智能项目理念和主题
结论
在这里,我们讨论了计算机视觉在自动驾驶汽车领域的一般应用。 希望你喜欢这篇文章。
如果您有兴趣了解有关机器学习和人工智能的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为在职专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业, IIIT-B 校友身份、5 个以上实用的实践顶点项目和顶级公司的工作协助。
从世界顶级大学学习ML 课程。 获得硕士、Executive PGP 或高级证书课程以加快您的职业生涯。
计算机视觉是做什么用的?
计算机视觉是人工智能的一个专门分支,可帮助计算机从视觉输入中提取有意义的数据,并根据派生信息做出决策。 计算机视觉实际上是人工智能和机器学习的多学科子集,它采用复杂的技术和通用学习算法。 在计算机视觉的帮助下,计算机可以看到和理解视频和数字图像等输入,并按照程序采取必要的行动。 就像人工智能帮助计算机思考一样,计算机视觉使他们能够观察和理解。 在计算机视觉的帮助下,计算机可以有效地从视觉数据中提取大部分内容来查看图像并理解内容。
自动驾驶汽车安全吗?
谈到这些自动驾驶汽车的安全性,我们不能完全否认一些看似危险的方面。 首先,网络安全问题浮现在脑海。 自动驾驶汽车很容易受到网络攻击,其中不法分子入侵汽车软件以窃取汽车或其所有者的个人信息。 其次,前所未有的软件故障或驾驶者完全依赖汽车在意外情况下做出反应的危险,从而导致事故,也是可能的风险。 然而,自动驾驶汽车有很多好处,可以平衡看似危险的一面。 自动驾驶汽车是环保的,并且在酒驾的情况下非常安全,驾驶员可以依靠车辆安全通勤。
到目前为止,哪些公司推出了自动驾驶汽车?
自动驾驶或自动驾驶汽车已经成为当今现实的一部分,也是最热门的讨论话题之一。 随着技术的进步,自动驾驶汽车也在不断发展并推出一流的车型,这些车型随着时间的推移而变得更加出色。 世界各地的汽车巨头已经从其早期版本的半自动驾驶汽车中推出了全自动驾驶汽车。 一些最值得注意的推出自动驾驶汽车的公司是特斯拉、Waymo、Pony.ai 等。