zoukankan      html  css  js  c++  java
  • YOLOP 论文解读

    最新的 YOLOP 网络模型出来了,同时支持目标检测,可行驶区域分割和车道线分割三大任务,cver们赶紧卷起来,而且还是个real time + sort 的模型。

    1、网络结构

    如下图:

    由一个encoder和三个特定任务的decoder组成
    encoder包含: 主干网络( CSPDarknet ),和neck结构(SPP+FPN)
    decoders分为:一个检测头和两个分割头,
    检测头和yolov4的检测头一样,不做多说。
    两个分割头都是使用FPN的最底层特征图(W/8,H/8,256)作为输入,进行三次最近邻上采样,最终输出(W,H,2)的特征图。在可行驶区域分割头中,行驶区域为前景,其他为背景;在车道线分割头,车道线为前景,其他为背景。

    2、损失函数

    损失函数分为Ldet,Lda−seg和 Lll−seg 三部分

    其中Ldet为检测任务的loss,公式如下:
    Ldet = α1 * Lclass + α2 * Lobj + α3 * Lbox
    Lclass和Lobj都是focal loss,分别用于分类和置信度计算;Lbox为LCIoU损失函数

    Lda−seg为可行驶区域分割任务的loss,公式如下
    Lda−seg = Lce
    就是正常的交叉熵损失函数

    Lll−seg为车道线分割任务的loss,公式如下:
    Lll−seg = Lce + LIoU
    由交叉熵损失函数和iou损失函数组成,其中
    LIoU = TN /(TN + FP + FN),为什么损失函数是这样的,希望有懂的大佬可以解答下,分割任务接触的少,不要笑我。
    因为车道线的像素比较稀疏,所以需要额外添加一个LIoU 损失

    整体损失函数如下:
    Lall = γ1 * Ldet + γ2 * Lda−seg + γ3 * Lll−seg,其中
    包含6个超参数,α1,α2,α3,γ1,γ2,γ3;该怎么设置呢,终于到了调参侠的用武之地了。

    3、实验部分

    3.1 训练参数设置

    • 使用 kmeans 聚类获取锚点框
    • 使用 Adam 优化器, 初始化 learning rate, β1、β2 分别设置为 0.001, 0.937, 0.999。使用 Warm-up 和 cosine 衰减策略调整 learning rate

    3.2 数据增强策略

    • Photometric distortions:adjust the hue, saturation and value of images
    • geometric distortions:random rotating, scaling, translating, shearing,and left-right flipping

    3.3 消融实验

    • 数据集: BDD100K,总共100k张图片,其中训练集70K,验证集10K,测试集20K,测试集没有标签,所以实验结果为验证集上的推理结果
    • 模型输入大小:640×384×3
    检测任务结果

    可行驶区域分割任务结果

    车道线分割任务结果

    端到端训练策略和分阶段训练策略结果对比


    E, D, S and W refer to Encoder, Detect head, two Segment heads and whole network
    例如 ED-S-W 表示先固定S,训练ED;然后固定ED,训练S;最后整个网络一起训练


    多任务训练和单任务训练结果对比

    实验硬件环境
    • 训练环境:NVIDIA GTX TITAN XP
    • 嵌入式环境:Jetson TX2(23 FPS),使用了 TensorRT 加速部署

    4、总结

    新的东西不多,但效果很好,估计大道至简吧。

    5、论文和code链接

  • 相关阅读:
    linux 解压tgz 文件指令
    shell 脚本没有执行权限 报错 bash: ./myshell.sh: Permission denied
    linux 启动solr 报错 Your Max Processes Limit is currently 31202. It should be set to 65000 to avoid operational disruption.
    远程查询批量导入数据
    修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
    关于乱码的问题解决记录
    我的网站优化之路
    对设计及重构的一点反思
    我的五年岁月
    奔三的路上
  • 原文地址:https://www.cnblogs.com/hypnus-ly/p/15212989.html
Copyright © 2011-2022 走看看