Mobilenet для обнаружения нескольких классов в изображении с координатами - PullRequest
0 голосов
/ 31 марта 2019

Я следовал руководству (https://towardsdatascience.com/keras-transfer-learning-for-beginners-6c9b8b7143e) для классификации объектов. Сейчас у меня есть модель, которая может классифицировать, является ли данное изображение кошкой, собакой или лошадью.

Теперь мне нужноизмените код таким образом, чтобы, если дано изображение, содержащее кошку, собаку и лошадь, оно обнаружило все три с ограничивающими рамками и вероятностями

  1. Любые модули в кератах илитензор потока, который будет добавлен для этой цели

  2. Это последний слой, который будет изменен? Если так, что там будет изменено

В настоящее время модель выглядит следующим образом (с последним слоем, имеющим количество классов)

base_model=MobileNet(weights='imagenet',include_top=False)

x=base_model.output
x=GlobalAveragePooling2D()(x)
x=Dense(1024,activation='relu')(x) 
x=Dense(1024,activation='relu')(x) 
x=Dense(512,activation='relu')(x) 
preds=Dense(3,activation='softmax')(x) ***LAST LAYER***

И прогноз выглядит так

img = image.load_img("nethorse.jpeg", target_size = (224,224))
test_image = image.img_to_array(img)
test_image = np.expand_dims(test_image, axis = 0)
test_image  =preprocess_input(test_image)
print(test_image)

который говорит, что это лошадь с вероятностью 0,99

Таким образом, код должен быть изменен таким образом, чтобы существующая модель могла не только сказать, какой объект присутствует на изображении, но и дать его координаты (т.е.обнаружить несколько объектов на изображении с помощью Boразборные ящики)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...