写点什么

自动驾驶领域中的图像分割应用

  • 2019-10-15
  • 本文字数:1826 字

    阅读完需:约 6 分钟

自动驾驶领域中的图像分割应用


通勤是我们日常生活的一个重要组成部分,而其中包括的车辆驾驶问题一直是人工智能的热门话题。本文我们就谈谈自动驾驶中的图像分割应用,主要介绍了基于视觉系统的自动驾驶问题,并给出常见的三种模式。在此基础上,分析了应用于自动驾驶领域的一些图像分割方法和其对应的实验结果。

介绍

相对于机器人视觉而言,自动驾驶问题所需要输出的决策相对简单——速度和转角。当前,基于视觉的自动驾驶算法大致有如下图所示的三种模式:间接感知(MP)、行为反射(BR)和直接感知(DP)。



常见基于视觉的自动驾驶模式(图片来源于参考文献 1)


间接感知方法通常会利用多种与驾驶相关的目标来判断车辆所处的环境,比如指示线、路标、路灯、其他车辆、行人等统一的路况判断依据。基于这种方法的自动驾驶系统会在作出判断之前,考虑所有捕获到的信息,也就意味着所有的细节都会被考虑进去。尽管这样做看起来面面俱到,但是对于算法的要求很高,否则各种小细节的引入会增加决策的难度。


行为反射方法直接将传感器获取到的信息映射成驾驶行为。在训练过程中,自动驾驶系统记录沿途的图像和司机的操作转角作为训练数据。这种方法虽然简洁,但是要适应复杂的路况和因人而异的驾驶习惯,难度还是很大的。


直接感知方法是介于前两种方法之间,既非理解整个场景,也非完全不加分析地直接映射。这种方法只学习场景内的重要路况,比如车辆相对于路面的角度、车辆到指示线的距离,以及车辆距离当前车道内和相邻车道内其他车辆的距离。



直接感知方法示意图(图片来源于参考文献 1)


基于纯视觉图像分割的自动驾驶

基于图像分割方法实现自动驾驶的方式可以有很多。比如可以直接从图像入手,分析场景内所有或部分的语义信息,根据不同语义给出不同的反馈;也可以通过分割提取图像内的可解释信息,区分出可驾驶的路面和不可驾驶的路面,从而作出驾驶决策。


对基于纯视觉方法的自动驾驶分辨技术,图像分割的精度是决定自动驾驶效果的重要因素。为了提高图像分割的精度,除了有三 AI(公众号)《图像分割模型》专栏中介绍的常用模型及改进方式外,还可以利用不同类别标注间的关系来全局约束分割结果。


如下图所示,CMSMR 网络结构利用多标签共同学习、协同优化的方式,实现了高分辨率图像下的图像分割。



DMSMR 网络结构(图片来源于参考文献 2)



单条前向排序优化网络(图片来源于参考文献 2)


除了车载设备获取的路面信息外,这种方式也可以利用到遥感图像上。如下图所示,实现遥感图像下的道路分割不仅有助于车辆的自动驾驶,也有助于道路规划、交通疏导等宏观规划问题的解决。



自动驾驶相关遥感图片下的图像分割(图片来源于参考文献 2)


基于多传感器融合的自动驾驶

除了单纯利用车上的视觉系统外,也可以结合车上搭载的其他传感器,实现联合信息下的自动驾驶决策判断。


下图是结合雷达信息实现自动驾驶中道路分割的网络结构图。输入为 RGB 图像和激光雷达所获取的信息,经过特征提取和 RFU 模块融合,实现对道路的分割。



结合雷达的图像分割自动驾驶系统(图片来源于参考文献 3


下图为上图中橙色部分对应的 RFU 模块:



RFU 模块(图片来源于参考文献 3)


参考文献:


[1] C. Chen, A. Seffetc, A. Kornhauser, and J. Xiao. DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving[C]. 2015.


[2] M. Zhang, X. Hu, L. Zhao, Y. Lv, M. Luo, and S. Pang. Learning Dual Multi-Scale Manifold Ranking for Semantic Segmentation of High-Resolution Images[J]. 2017


[3] H. Liu, Y. Yao, Z. Sun, X. Li, K. Jia, and Z. Tang. Road Segmentation with Image-LiDAR Data Fusion[J]. 2019


作者介绍


孙叔桥,公众号“有三 AI”作者。该公号聚焦于让大家能够系统性地完成 AI 各个领域所需的专业知识的学习。


原文链接


https://mp.weixin.qq.com/s/qlyj4H_qh6okNuZ6TKKDTw


2019-10-15 17:333293

评论

发布
暂无评论
发现更多内容

花一点时间优化一次年迈的后台系统的检索体验

为自己带盐

28天写作 12月日更 ​jQuery

DDD领域驱动设计实战(三)-深入理解实体

JavaEdge

12月日更

Flutter开发小技巧【Flutter专题23】

坚果

flutter 28天写作 12月日更

Dubbo框架学习笔记七

风翱

dubbo 12月日更

50 K8S之Contour控制器

穿过生命散发芬芳

k8s 28天写作 12月日更

【LeetCode】一年中的第几天Java题解

Albert

算法 LeetCode 12月日更

Android EventBus 集成问题小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

如何实现Redis限流

喵叔

28天写作 12月日更

开始了解DevSecOps 1

搬砖的周狮傅

DevSecOps

NGINX从入门到实践-基础篇

小志Codings

nginx Python3

【架构实战营】模块七

衣谷

架构实战营

怎么活的超脱:把自己的生活看成一场戏

mtfelix

28天写作

语音信号处理 4:语音信号在时域和频域的表示

轻口味

28天写作 12月日更

元宇宙100讲-0x007

hackstoic

元宇宙

vivo:不做开发者的过客,变成IoT的归人

脑极体

Kvrocks 在 RocksDB 上的优化实践

Kvrocks

Redis 协议

React进阶(十二):HOOK

No Silver Bullet

React Hooks 12月日更

如何用Docker Compose部署项目?

秦怀杂货店

Docker springboot

synchronized源码分析之锁的膨胀

Ayue、

synchronized 锁机制 锁升级

复盘健康

将军-技术演讲力教练

[Pulsar] Consumer消费

Zike Yang

Apache Pulsar 12月日更

什么是VLAN?如何配置?VLAN间路由又是怎样的?一文了解!

Ethereal

VLAN 网络技术

Python 自动化领域起点篇,Selenium WebDriver 学习第1篇

梦想橡皮擦

12月日更

【架构实战营】模块八

衣谷

架构实战营

Istio的认证授权机制分析

xcbeyond

istio 认证授权 28天写作 12月日更

【CSS 学习总结】目录 - CSS 知识点梳理

Brave

CSS 12月日更

面试官:HashSet如何保证元素不重复?

王磊

PassJava 开源(一) :初始化项目和添加微服务

悟空聊架构

SpringCloud 28天写作 passjava 悟空聊架构 12月日更

解决:Command ‘mongo‘ not found, but can be installed with

liuzhen007

28天写作 12月日更

20《重学JAVA》--集合(二)

杨鹏Geek

Java25周年 28天写作 12月日更

念叨了一年的游戏叙事书中文版终于出了!

博文视点Broadview

自动驾驶领域中的图像分割应用_AI&大模型_孙叔桥_InfoQ精选文章