PaddleClas/docs/zh_CN/application/feature_learning.md

2.6 KiB
Raw Blame History

特征学习

此部分主要是针对特征学习的训练模式进行说明,即RecModel的训练模式。主要是为了支持车辆识别车辆细分类、ReID、Logo识别、动漫人物识别、商品识别等特征学习的应用。与在ImageNet上训练普通的分类网络不同的是,此特征学习部分,主要有以下特征

  • 支持对backbone的输出进行截断,即支持提取任意中间层的特征信息
  • 支持在backbone的feature输出层后添加可配置的网络层Neck部分
  • 支持ArcFace Lossmetric learning 相关loss函数提升特征学习能力

1 整体流程

特征学习的整体结构如上图所示主要包括数据增强、Backbone的设置、Neck、Metric Learning等几大部分。其中Neck部分为自由添加的网络层如添加的embedding层等当然也可以不用此模块。训练时利用Metric Learning部分的Loss对模型进行优化。预测时一般来说默认以Neck部分的输出作为特征输出。

针对不同的应用可以根据需要对每一部分自由选择。每一部分的具体配置如数据增强、Backbone、Neck、Metric Learning相关Loss等设置详见具体应用车辆识别Logo识别动漫人物识别商品识别

2 配置文件说明

配置文件说明详见yaml配置文件说明文档。其中模型结构配置,详见文档中识别模型结构配置部分。

3 预训练模型

以下为各应用在不同数据集下的预训练模型