我在检测和本地化过程中使用了 GoogleNet 的 Caffe 实现,可从https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet获得。我在我自己的细粒度分类任务中使用这个网络进行迁移学习取得了巨大的成功,但我在使用开箱即用的实现时遇到了很多困难。使用稍微调整的deploy.prototxt版本,批量大小从 10 减少到 1,我预测此目录中包含的图像的类。
{
'bikini1': {
'445': 0.44777653,
'459': 0.42523962,
'543': 0.0014282113,
'638': 0.083084606,
'639': 0.03712019},
'bikini2': {
'445': 0.34988937,
'459': 0.56838924,
'638': 0.053508826,
'639': 0.0262988,
'775': 0.00064279145},
'cheeseburger1': {
'923': 0.00077056035,
'924': 0.00074912253,
'931': 0.0040806201,
'933': 0.98862922,
'964': 0.0012325585},
'cheeseburger2': {
'923': 5.947132e-05,
'928': 0.00013152717,
'931': 0.00084521802,
'933': 0.99827468,
'934': 0.00013743658},
'ipod1': {
'487': 0.0010906343,
'605': 0.99825007,
'632': 9.7395357e-05,
'662': 0.00010778452,
'754': 0.00011993563},
'ipod2': {
'487': 1.3061179e-05,
'592': 2.9665862e-05,
'605': 0.99993002,
'681': 9.4235074e-06,
'761': 3.5998178e-06}
}
这些图像直接取自 ImageNet 训练集。有趣的是,网络以高度的置信度为每一对分配相同的标签,但这些标签似乎与ImageNet 提供的标签完全不一致。网络似乎正在工作,但也许我引用了错误的类标签映射?非常感谢您所有 Caffe/ImageNet 专家的任何帮助!