在 Caffe 中训练 GoogLeNet 时如何给输入图像添加外部特征?

How to add external features to input images when training GoogLeNet in Caffe?

我一直在使用 Caffe 框架使用我自己数据集中的图像微调 GoogLeNet 模型。我认为如果我可以在训练过程中向训练图像添加一些外部提取的特征(例如基于 SIFT 或 HoG...),我可以改善结果。

有没有一种方法可以将训练数据集扩展为图像 + 附加特征并使用 Python 在 Caffe 中训练相同的模型?

谢谢!

Caffe 不仅限于图像。事实上,它可以接受(几乎)任何类型的输入。您可以将训练数据存储在 hdf5 二进制文件中,并使用 "HDF5Data" 层在 caffe 中读取它。 hdf5 文件可以存储多个变量,例如 "image""label" 和附加的 "img_features"。因此,您的 caffe 输入层将类似于:

layer {
  name: "input"
  type: "HDF5Data"
  top: "image"
  top: "img_features"
  top: "label"
  ...
}

您可以使用 python 的 h5py python 包来创建输入 hdf5 文件。