边界框输出打印负值

时间:2019-04-20 15:51:25

标签: keras bounding-box

我是keras的新手,我正在为单个对象分类进行边界框回归。我的输入图像的尺寸为1080 X1920。边界框的顺序相同(例如:x = 910,y = 210;高度= 120,宽度= 90)。我只有一个感兴趣的对象,所以我没有使用分类器。我的网络具有边界框预测的密集输出。但是,当我运行代码时,最后一层的输出为负,这没有任何意义。

我尝试打印密集层的输出,并在搜索了很多之后发现了一种方法。但是正如我在上面说的,输出正变为负数。

我的模型如下

input_shape=img_data[0].shape                   
model = Sequential()
model.add(Convolution2D(32, 3,3,border_mode='same',input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))

model.add(Convolution2D(64, 3, 3))
model.add(Activation('relu'))
#model.add(Convolution2D(64, 3, 3))
#model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))

model.add(Flatten())
model.add(Dense(4,name = 'my_dense'))


model.compile(loss= "mean_squared_error",optimizer="Adam",metrics=[])
hist = model.fit(X_train, y_train, batch_size=1, nb_epoch=num_epoch, verbose=1, validation_data=(X_test, y_test))
m2 = Model(inputs = model.input, outputs = model.get_layer('my_dense').output)
op = m2.predict(X_test)

期望的输出是边界框参数,例如x,y,height和weight。但是我a,“ op”的值为负

非常感谢您的帮助。

0 个答案:

没有答案