• 语义分割算法及在无人驾驶的应用


    一.物体检测算法的不足

    1.稀疏的输出结果

    • 目标物体的位置、大小、类别、速度等
    • 无法感知非物体,比如道路、建筑物、数目等
    • 无法识别可行驶区域,无法规避所有障碍物

    2.粗略的物体框表示

    • 矩形框:中心点+长宽
    • 无法精确表述物体形状

    3. 受限的应用场景

    • 自适应巡航
    • 自动紧急刹车
    • 盲区监测

    不适用于车道保持和泊车辅助

    二.语义分割

    1.稠密的输出结果

    • 每个像素点的语义类别
    • 物体:实例ID+分割Mask
    • 非物体:分割Mask

    2.应用场景

    • 可行驶道路检测
    • 车道线监测
    • 障碍物监测

    3.最直接的方法

    • 滑动窗口遍历整幅图像
    • 对固定大小的图像块进行分类
    • 分类器:SVM或者全连接网络

    问题:大量的冗余计算,无法利用上下文信息

    4.全连接网络(FCN)

    • 叠加多个卷积层和下采样层
    • 逐层扩大感受野,提取不同层次的空间上下文特征
    • 最终的特征图通过反卷积恢复到原始图形的分辨率

    问题:下采样导致空间细节信息的丢失,影响分类正确率和空间位置分辨率,尤其是影响细小物体

    5.U-Net

    • 编码器-解码器的结构
    • 同样分辨率的特征图之间,增加了Skip连接
    • 同时保留高层的上下文特征和底层的细节特征
    • 网络通过学习来自动的平衡上下文和细节信息的比重

    问题:底层特征图具有较大的感受野,但是牺牲了空间分辨率

    6.空洞卷积(Dilated/Atrous Convolution)

    • 拓展标准卷积核,使其铺盖更大的空间位置
    • 代替下采样的操作:保持空间分辨率;在不增加计算量的前提下扩大感受野;

    7.大卷积核

    • 增加卷积操作的感受野
    • 卷积结果的空间分辨率不受影响
    • 降低计算量的Trick:二维的大卷积核(K×K)分解为两个一维的卷积核(1×K和K×1);二维卷积的结果用两个一维卷积结果的和来模拟;计算量由 O ( K 2 ) O(K^2) O(K2)降低到 O ( K ) O(K) O(K)

    8.DeepLab

    • 采用扩张卷积扩大感受野
    • 采用ASPP(Atrous Spatial Pyramid Pooling)提取多尺度信息
    • 采用条件随机场(CRF)优化分割结果

    请添加图片描述

    9.Mask R-CNN

    • 在Faster R-CNN的基础上增加实例分割分支
    • 对于每个ROI,利用FCN输出一个固定大小的二值Mask
    • ROI Align代替Pooling,提高特征与像素的空间对齐程度

    3.自动驾驶中的应用

    1车道线检测

    用FCN输出一个固定大小的二值Mask

    • ROI Align代替Pooling,提高特征与像素的空间对齐程度

    三.自动驾驶中的应用

    1车道线检测

    请添加图片描述

  • 相关阅读:
    史上最强 Java 学习路线图!
    RK3568 kernel阶段播放开机动画方案实现
    IPWorks SFTP Delphi版—组件消耗的资源
    触摸屏实验
    计算机系大学生,可以通过Java做什么副业?这篇文章给你答案!
    iOS 17更新失败或无法更新怎么办?8 个解决方法快速解决!
    科研基础与工具(论文搜索)
    Android Proguard混淆
    10.什么是递归插槽及使用方式
    C#(Csharp)我的基础教程(四)(我的菜鸟教程笔记)-Windows项目结构分析、UI设计和综合事件应用的探究与学习
  • 原文地址:https://blog.csdn.net/qq_46067306/article/details/126193842