REID-OSNet

转载:https://zhuanlan.zhihu.com/p/124962357

转载:https://blog.csdn.net/m0_46204224/article/details/117747658 强烈推荐:OSNet代码解析(普通卷积,分组卷积,深度可分离卷积,OSblock组成)

Paper:

Code:KaiyangZhou/deep-person-reid

摘要:作为实例级识别问题,行人重识别的性能依赖于具有显著辨别性的特征,辨别性的特征不仅能捕获不同的空间尺度还封装了多个尺度的任意组合。本文将同质和异质尺度的特征称为全尺度特征。本文提出了全尺度网络(OSNet),用于全尺度特征的学习。这是通过设计由多个卷积流组成的残差块实现的,每个残差块在一定的范围内检测特征。而且,本文也提出了一种新的统一聚合门可以通过依赖输入的对通道维加权融合多尺度特征。为了有效地学习空间-通道的相关性并避免过拟合,构建残差块使用了点卷积和深度卷积。通过堆叠这些残差块,OSNet是非常轻量级的,可以在公开数据集上从头开始训练。尽管OSNet模型体量较小,但却实现了SOTA。

知识点解析:

行人重识别主要面对量大挑战,1,类内变化大。2,类间变化小。

Depthwise Separable Convolutions:为了减少参数量,本文采用了深度分离卷积。所谓深度分离卷积即是将传统卷积核 [公式] 分解为深度卷积核 [公式] 和点卷积核 [公式] , [公式] 分别表示输出和输出的通道数。假定输出的特征图为 [公式] ,则通过深度分离卷积可将计算量由 [公式] 减少为 [公式] ,参数量由 [公式] 减少为 [公式] 。而且在本文的实现中先进行点卷积后进行深度卷积以提高效率。

Omni-Scale Residual Block:通过利用Lite [公式] layer构建全尺度残差块。对于输入特征图 [公式] ,其操作公式为:

a)Multi-scale feature learning:为了实现多尺度特征学习,本文引入了一个新的表示特征尺度的参数 [公式] 来扩展残差函数 [公式] 。对于 [公式] ,本文使用 [公式] 个Lite [公式] layer,则其感受野为 [公式] 。其公式表示为:

短连接可以使当前层学习的更小尺度的特征在下一层中有效的保留,从而使得最终的特征能够捕获整个空间尺度的范围。

b)Unified aggregation gate:通过上述的各个尺度特征学习流,以学习到多个特征尺度的特征图。为了将它们组合以得到全尺度的特征,本文以动态组合方式组合不同卷积流的输出,即,根据输入图像分配不同尺度以不同的权重,而不是悬链后固定权重值。本文利用可学习神经网络得到组合门(AG),则公式表示为:

其中 [公式] 是一个长度和通道维长度一致的各通道维权重向量(参照SENet)。而且AG门是被多个卷积流 [公式] 共享的,这样的好处是1,参数的数量独立于 T (流的数量),因此模型变得更加可伸缩;2,统一AG(跨流共享相同的AG模块)在执行反向传播时具有很好的特性。具体来说,求导容易,其公式如下:

也可以理解为多个卷积流的监督信号被收集在一起指导G的学习。

Network Architecture:OSNet的网络结构如下表所示。

a)Relation to prior architectures:与Inception和ResNeXt相比,OSNet有以下不同点。1,OSNet中的多流设计严格遵循指数(2)所规定的尺度-增量原则,即不同的卷积流具有不同的感受野,而且是通过堆叠Lite [公式] layer实现的。这样的设计可以更有效地捕捉大范围的尺度。相比之下,Inception则是通过不同的大小的卷积核实现的,最初的设计初衷是通过与多个流共享计算来降低计算成本。ResNeXt则是相同尺度的卷积流。2,Inception和ResNeXt通过级联(concatenation/)/添加(addition)来聚合特性,而OSNet使用统一的AG (3),这有助于学习多尺度特性的组合。关键的是,这意味着融合是动态的,并适应于每个单独的输入图像。3,OSNet使用深度分离卷积,因此构建块和随后的整个网络是轻量级的。

结果展示:

消融性试验验证了各个部件的效果:

Conclusion:本文提出了OSNet,是一个轻量级的CNN网络,能够学习全尺度的特征表示,在多个数据集上实现了当时的SOTA。而且其可以扩展到其他视觉任务中。

原文地址:https://www.cnblogs.com/hansjorn/p/15404872.html