1

我在張量流亭亭玉立中使用ResNet-50模型來提取特徵。我的問題是,在攝取圖像之前,是否需要根據一些標準ResNets-50平均值將圖像居中?我知道vgg-19 tf-slim提供了使用中定義的 _mean_image_subtraction(image, means)進行對中的選項。但是我找不到ResNets的任何這樣的文件或功能。以張量流亭亭玉立的ResNet-50中的圖像

回答

1

我相信你也應該使用vgg_preprocessing。在get_preprocessing()preprocessing_factory.py

preprocessing_fn_map = { 
    'cifarnet': cifarnet_preprocessing, 
    'inception': inception_preprocessing, 
    'inception_v1': inception_preprocessing, 
    'inception_v2': inception_preprocessing, 
    'inception_v3': inception_preprocessing, 
    'inception_v4': inception_preprocessing, 
    'inception_resnet_v2': inception_preprocessing, 
    'lenet': lenet_preprocessing, 
    'mobilenet_v1': inception_preprocessing, 
    'resnet_v1_50': vgg_preprocessing, 
    'resnet_v1_101': vgg_preprocessing, 
    'resnet_v1_152': vgg_preprocessing, 
    'resnet_v1_200': vgg_preprocessing, 
    'resnet_v2_50': vgg_preprocessing, 
    'resnet_v2_101': vgg_preprocessing, 
    'resnet_v2_152': vgg_preprocessing, 
    'resnet_v2_200': vgg_preprocessing, 
    'vgg': vgg_preprocessing, 
    'vgg_a': vgg_preprocessing, 
    'vgg_16': vgg_preprocessing, 
    'vgg_19': vgg_preprocessing, 
} 

您也可以從train_image_classifier.py驗證使用preprocessing_factory.get_preprocessing()

preprocessing_name = FLAGS.preprocessing_name or FLAGS.model_name 
image_preprocessing_fn = preprocessing_factory.get_preprocessing(
    preprocessing_name, 
    is_training=True) 

... 

image = image_preprocessing_fn(image, train_image_size, train_image_size) 
+0

完美。這是我正在尋找的。儘管它對於ResNets也有vgg_preprocessing,但這很奇怪。他們應該爲此設置一個通用名稱。 –

0

是的,你應該居中(正常化)的圖像。應該爲了更好的模型收斂做好準備。

如果沒有用於爲RESNET該圖像處理操作默認tf-slim方法,您可以基於this變種自己的實現

而且更有用,爲整個訓練計數means(從_mean_image_subtraction(image, means))批處理,而不是針對單個圖像或整個數據集。

+0

這正是我想知道,如果有需要減去手段。許多框架調整原始模型,以便可以從所有ResNet模型中減去相同的平均值。因此,知道它是否必須在tf-slim中完成是合理的,如果是,那麼特定網絡的平均值是多少。 –

+0

手段必須計入特定的數據集,而不是特定的網絡。你也可以看[這裏](http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#cv2.normalize)做另一種正常化的方法 – Dmitry

+0

通過網絡的意思,我的意思是最初訓練網絡的圖像。在轉移學習中,從原始數據集中減去平均值是非常標準的做法。供您參考 - https://github.com/vlfeat/matconvnet/issues/485 –