#python #machine-learning #keras #deep-learning #conv-neural-network
#python #машинное обучение #keras #глубокое обучение #conv-нейронная сеть
Вопрос:
У меня есть набор данных изображений (24 x 24). Я хочу предсказать center_x
и center_y
для каждого объекта на каждом изображении. У меня есть файл, который содержит center_x
и center_y
каждого объекта на изображении.
Количество объектов в каждом изображении меньше или равно 2.
Я попытался решить эту проблему с помощью нейронной сети свертки с функцией «Линейной» активации на последнем уровне, но это не дало хороших результатов.
model = Sequential()
model.add(Conv2D(80, 3 ,activation='relu',input_shape=(24,24,3)))
model.add(Conv2D(64,3 , activation='relu' ))
model.add(MaxPool2D(2,2))
model.add(Conv2D(64,3 , activation='relu' ))
model.add(MaxPool2D(2,2))
model.add(Conv2D(128,1 , activation='relu' ))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4, activation = 'linear'))
Вывод:
[center_x_of_first_object , center_y_of_first_object ,center_x_of_second_object , center_y_of_second_object ]
- если на изображении нет объекта, результатом будет: [0,0,0,0]
-
если на изображении есть один объект, вывод будет следующим: [value_x,value_y ,0,0]
-
если на изображении есть два объекта, результатом будет: [value_x,value_y,value_x2,value_y2]
Как можно решить эту проблему?
Комментарии:
1. вы ищете решение для обнаружения объектов, я думаю, что такие модели, как YOLO , могли бы помочь, это может быть полезно
2. YOLO и БЫСТРЕЕ-CNN это не может мне помочь, потому что мои изображения очень маленькие 24×24, но эти алгоритмы основаны на предварительно подготовленных моделях, таких как Vgg, и эти модели не принимают изображения размером менее 32×32.
3. измените размер ваших изображений на 32×32 и, поверьте мне, вы получите то, что хотите идеально, я сделал то же самое с
googlenet
ранее и изменил размер своих изображений перед загрузкой модели из 56×56 в 256×256 , и результаты были идеальными.4. спасибо, я постараюсь .