Zhangzhe's Blog

The projection of my life.

0%

一些高效backbone设计思想

TL;DR

  • 本文介绍了 YOLO 系列几种高效的 backbone 设计,主要包括:VoVNetPRNCSPNetELANE-ELAN

Algorithm

1. VoVNet

  • paper: https://arxiv.org/pdf/1904.09730.pdf
    vovnet.png
  • 作者认为 densenet 存在问题:每一层 Conv 都使用之前所有层的输出,因此会导致当前 Convinput channel 很大,输出到 output channel 却较小
  • 因此,作者只在 VoVNet Block 的最后一个 Conv 才用之前所有层的输出
  • 相同计算量下,效果优于 ResnetDenseNet

2. PRN

3. CSPNet(YOLOV5)

4. ELAN

  • paper: https://arxiv.org/pdf/2211.04800.pdf
    elan.png
  • ELAN 全称是 Efficient Layer Aggregation Network, 作者以 VoVNetResNet 做对比,VoVNet 在叠加更多 block 时表现要比 ResNet 更差,作者分析是因为 VoVNet 结构中存在过多的 transition layers,这导致在叠加 block 时最短梯度路径( the shortest gradient path )不断增加,从而使得 block 增加时训练难度上升
  • PRN 相比 ResNet,使用 mask 让输入只有部分 channel 通过 identity connection,丰富了梯度来源;
  • CSPNet 通过将 channel split,一方面增加了梯度信息(同 PRN),另一方面减少了 computational block 中的计算量;
  • ELAN 的思想是:搭建网络时需要考虑每一层的最短最长梯度路径,还要考虑整个网络的最长梯度路径。

5. E-ELAN(YOLOV7)