道路场景语义分割算法

输入输出接口

Input:

(1)左右两个摄像头采集的实时图像视频分辨率(整型int)

(2)左右两个摄像头采集的实时图像视频格式 (RGB,YUV,MP4等)

(3)摄像头标定参数(中心位置(x,y)和5个畸变

系数(2径向,2切向,1棱向),浮点型float)

(4)摄像头初始化参数(摄像头初始位置和三个坐标方向

的旋转角度,车辆宽度高度车速等等,浮点型float)

Output:

(1)各个区域边界(浮点型float)

(2)各个label图像类型(整型int)

(3)实例分割区域个数(整型int)

(4)以上三种图像的融合图 (RGB,YUV,MP4等)

(5)摄像头与各个分割区域的距离(浮点型float)

  1. 功能定义

(1)计算各个区域边界

(2)各个label图像类型

(3)计算实例分割区域个数

(4)以上三种图像的融合图 (RGB,YUV,MP4等)

(5)计算摄像头与各个分割区域的距离

  1. 技术路线方案

自动驾驶系统中的一项重要核心技术——图像语义分割(Semantic image segmentation)。图像语义分割作为计算机视觉(Computer vision)中图像理解(Image understanding)的重要一环,不仅在工业界的需求日益凸显,同时语义分割也是当下学术界的研究热点之一。

深入到无人驾驶领域,对于场景的环境感知是一个棘手且十分重要的课题。语义分割作为无人车驾驶的核心算法技术,车载摄像头,或者激光雷达探查到图像后输入到神经网络中,后台计算机可以自动将图像分割归类,以避让行人和车辆等障碍。与分类目的不同,语义分割相关模型要具有像素级的密集预测能力。

纵观语义分割的发展历史,主要经历了“前DL时代的语义分割”和“DL时代的语义分割”。从最简单的像素级别“阈值法”、基于像素聚类的分割方法到“图,在深度学习 “一统江湖”之前,图像语义分割方面的工作可谓“百花齐放”,其主要代表为“Normalized
cut” 和“Grab cut” 这两个基于图划分的经典分割方法。随着深度学习技术的高速发展,语义分割这个领域也逐渐陷入了深度学习的漩涡。

道路场景语义分割系统所期望的目标如图1所示。针对道路场景的图片,能够对图像中的物体进行基于像素级别的分割,从而实现为无人驾驶或智能辅助驾驶提供基础数据的支持。

图1. 语义分割实例

图2. 行驶区域车道上的特定目标语义分割

在图片语义分割的应用基础之上,对视频帧进行离散化的处理,从而达到处理视频的效果。按照VOC的评价标准,使用公式:IOU=TP/(TP+FP+FN)来评估模型,其中IOU又分为基于类别和基于对象,本系统主要按照基于类别的IOU进行评估,最终实现IOU category 逼近80%(CityScapes数据集),鉴于公司数据夜晚场景的复杂性,其最终IOU难以评估,估计会低于预期。

在实现标准数据集80% IOU category的基础上,进行夜晚场景的迁移学习从而进行微调,并最终应用于处理视频帧,现初步预定帧率为25FPS,但使用环境的不同可能会影响最终的帧率。

参考传统语义分割算法,综合目前各种深度学习网络模型在语义分割任务中的应用效果,本项目拟采用初步复现,稳步提升的总体路线,从经典的FCN到SegNet …… 一直到最新的DeepLab V3+,逐一验证和改进并产品化。

在大多数论文中,分割网络的这两个部分被称作编码器和解码器。简而言之,第一部分将信息「编码」为压缩向量来代表输入。第二部分(解码器)的作用是将这个信号重建为期望的输出。有很多基于编码器—解码器结构的神经网络实现。FCNs、SegNet,以及 UNet 是最流行的几个。

与大多数编码器—解码器架构设计不同的是,Deeplab提供了一种与众不同的语义分割方法。Deeplab 提出了一种用于控制信号抽取和学习多尺度语境特征的架构。

Deeplab把在ImageNet上预训练得到的ResNet作为它的主要特征提取网络。但是,它为多尺度的特征学习添加了一个新的残差块。最后一个ResNet块使用了空洞卷积,而不是常规的卷积。此外,这个残差块内的每个卷积都使用了不同的扩张率来捕捉多尺度的语境信息。

另外,这个残差块的顶部使用了空洞空间金字塔池化ASPP。ASPP使用了不同扩张率的卷积来对任意尺度的区域进行分类。

DeepLabv1-v2都是使用带孔卷积提取密集特征来进行语义分割。但是为了解决分割对象的多尺度问题,DeepLabv3设计采用多比例的带孔卷积级联或并行来捕获多尺度背景。DeepLabv3修改之前提出的带孔空间金字塔池化模块,该模块用于探索多尺度卷积特征,将全局背景基于图像层次进行编码获得特征,取得 state-of-art 性能,在PASCAL VOC-2012达到86.9mIOU。

DeepLabv3+继续在模型的架构上更新,为了融合多尺度信息,引入语义分割常用的encoder-decoder。在encoder-decoder架构中,引入可任意控制编码器提取特征的分辨率,通过空洞卷积平衡精度和耗时。

在语义分割任务中采用
Xception模型,在 ASPP 和解码模块使用
depthwise separable convolution,提高编码器-解码器网络的运行速率和健壮性,在 PASCAL VOC 2012 数据集上取得新的 state-of-art 表现,89.0mIOU。

DeepLabv3+的模型框架如下图所示:

图3. Deeplab V3+模型架构

考虑到语义分割架构是不断地在原有基础上提升,项目的开发总体流程如图4所示:

图4. 系统总体流程图

测试

1)公开数据集测试:在VOC和COCO等数据集上进行测试,得到mAP和Loss等数据。

2)在自主采集数据集上进行测试,分析测试结果。

集成

写成封装函数,能够集成在FPGA开发板上正确运行。

开发环境说明

表1. 语义分割开发环境

关键技术参数和性能指标

1)实时性:在GPU和FPGA上达到30fps

2)环境适应性:在公开数据集和自主采集数据集上均可较好的进行语义分割

道路场景语义分割算法相关推荐

  1. 道路场景语义分割综述_王飞龙

    挖坑:暂时还没有理解的定义或者方法,但因为暂时不重要留到后面看 论文结构 一.引言 1.道路场景语义分割定义 针对道路场景进行语义分割是对采集到的道路场景图像中的每个像素都划分到对应的类别,实现道路场 ...

  2. RTFNet:基于可见光/红外图像的城市自动驾驶道路场景语义分割

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 论文下载:https://yuxiangsun.github.io/pub/RAL2019_rtfne ...

  3. DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 导读 基于CNN的神经网络SegNet算法可进行高精度地识别行驶环境. 目录 SegN ...

  4. FCN与U-Net语义分割算法

    FCN与U-Net语义分割算法 图像语义分割(Semantic Segmentation)是图像处理和是机器视觉技术中关于图像理解的重要一环,也是 AI 领域中一个重要的分支.语义分割即是对图像中每一 ...

  5. 自动驾驶领域:一种实时高精度的城市道路场景语义分割方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 论文下载:https://arxiv.org/pdf/2003.08736.pdf 简介: 近年来,深 ...

  6. 实时语义分割算法大盘点

    本文转载自计算机视觉工坊 语义分割论文 语义图像分割是计算机视觉中发展最快的领域之一,有着广泛的应用.在许多领域,如机器人和自动驾驶汽车,语义图像分割是至关重要的,因为它提供了必要的上下文,以采取行动 ...

  7. RTFNet——用于城市场景语义分割的RGB和热红外融合网络

    Overview Title-RTFNet:用于城市场景语义分割的RGB和热红外融合网络 Time-2019 Journal-IEEE ROBOTICS AND AUTOMATION LETTERS ...

  8. 基于迁移学习的语义分割算法分享与代码复现

    摘要:语义分割的数据集是比较大的,因此训练的时候需要非常强大的硬件支持. 本文分享自华为云社区<[云驻共创]基于迁移学习的语义分割算法分享>,原文作者:启明. 此篇文章是分享两篇基于迁移学 ...

  9. 汇总|实时性语义分割算法(全)

    我们在上篇--汇总|实时性语义分割算法(上篇)中,已经总结了[1]~[12],这里我们继续. [13]用于实时语义分割的双向分割网络 <BiSeNet: Bilateral Segmentati ...

最新文章

  1. 水下目标检测算法赛(36w奖金池)
  2. [ZigBee] 9、ZigBee之AD剖析——AD采集CC2530温度串口显示
  3. html使用element ui_Kendo UI for jQuery使用教程:自定义小部件(二)
  4. java 泛型参数的类型_Java获得泛型参数类型
  5. 技术动态 | 知识图谱上的实体链接
  6. 吓人!深夜悄悄上街扫地!
  7. word删除内容后不删除书签_Word涨薪88式第三式:书签的妙用
  8. 5G 和 AI 双驱动,互联网有望迎来第二春
  9. 笔记本电脑如何强制关机_Mac 如何强制关机?
  10. Python-Numpy语法总结-数组的创建
  11. 【第135期】游戏策划:给@蒙蒙水雾的简历分析
  12. HID、SCSI、CCID设备的通信
  13. 记账时,如何对开销进行分类
  14. linux系统github全局加速
  15. 入门小程序·搭建论坛
  16. POJ3666 线性dp+维度优化
  17. Bluetooth资格认证(BQB)学习
  18. 1688商品详情SKU
  19. Semi-Supervised Semantic Segmentation with Pixel-Level Contrastive Learning from a Class-wise Memory
  20. linux中pwd和oldpwd区别,pwd和cd命令详解

热门文章

  1. 将Eclipse中Web项目打成war包
  2. 2022-2028年中国钢桶行业市场研究及前瞻分析报告
  3. 2022-2028年中国数字化制造产业研究及前瞻分析报告
  4. 浅显易懂 Makefile 入门 (10)— 嵌套执行 make、export 的使用
  5. 简述Web程序开发流程
  6. 在pycharm中无法引入同一目录下的python文件
  7. jquery autocomplete demo
  8. dataframe重命名
  9. SpringBoot整合Shiro安全框架完整实现
  10. MinkowskiEngine Miscellaneous Classes杂类