Я только что провел некоторое обучение с помощью более быстрого rcnn, использующего API обнаружения тензорного потока.Я нахожусь в тензор потока 1.14, магистральная сеть является более быстрой_rcnn_resnet101_coco.Изменяют ли размеры замороженных сетей изображения, подаваемые им при прогнозировании?
Я спрашиваю, потому что, когда я подаю модели изображение, которое намного больше, чем те, на которых я тренировался, оно не распознает ни один из объектов.Когда я обрезаю изображение до 1200x1200, все объекты идентичны, но это прекрасно работает.
Имеет ли модель ограничения по размеру изображения?Должен ли я делать прогнозы, используя размеры, аналогичные тем, которые указаны в файле конфигурации, даже если объекты в изображении 3000x3000 имеют одинаковый размер?
В файле конфигурации для обучения я ограничиваю входные изображения:
image_resizer {
keep_aspect_ratio_resizer {
min_dimension: 200
max_dimension: 1200
}
}
Означает ли это, что в обученной модели, которую я сейчас использую, если я передам ей изображение размером более 1200x1200, оно уменьшит его?Вот как я делаю прогноз в загруженной замороженной модели:
with model.as_default():
with tf.Session(graph=model) as sess:
imageTensor = model.get_tensor_by_name("image_tensor:0")
boxesTensor = model.get_tensor_by_name("detection_boxes:0")
scoresTensor = model.get_tensor_by_name("detection_scores:0")
classesTensor = model.get_tensor_by_name("detection_classes:0")
numDetections = model.get_tensor_by_name("num_detections:0")
# Make prediction
(boxes, scores, labels, N) = sess.run([boxesTensor, scoresTensor, classesTensor, numDetections],
feed_dict = {imageTensor: image})
Связанный: Размер обучающего изображения Faster-RCNN
Кроме того, этот пост заставляет меня думать об этомдолжен обрабатывать любой входной размер, но он явно не обрабатывает их одинаково, поэтому я запутался: Более быстрый RCNN + начальный размер v2 ввода