我已经对我的模型进行了如下分类训练,现在我想将边界框放在对象上。让我知道从哪里开始以及如何开始。这是我的分类代码,我想在其中放置多个销售边界框,该代码会将图像分为多个比例,并根据该比例放置边界框 培训代码
import tensorflow as tf
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten, Conv2D, MaxPooling2D
from tensorflow.keras.callbacks import TensorBoard
X1 = np.asarray(pickle.load(open("X1.pickle", "rb")))
y1 = np.asarray(pickle.load(open("y1.pickle", "rb")))
X1 = X1/255.0
dense_layers = [1]
layer_sizes = [64]
conv_layers = [3]
for dense_layer in dense_layers:
for layer_size in layer_sizes:
for conv_layer in conv_layers:
NAME = "{}-conv-{}-nodes-{}-dense-{}".format(conv_layer, layer_size, dense_layer, int(time.time()))
tensorboard = TensorBoard(log_dir='logs\{}'.format(NAME))
model = Sequential()
model.add(Conv2D(layer_size, (3,3), input_shape = X1.shape[1:]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size = (2, 2)))
for l in range(conv_layer-1):
model.add(Conv2D(layer_size, (3,3)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size = (2, 2)))
model.add(Flatten())
for l in range(dense_layer):
model.add(Dense(layer_size))
model.add(Activation("relu"))
model.add(Dense(1))
model.add(Activation("sigmoid"))
model.compile(loss = "binary_crossentropy",
optimizer = "adam",
metrics = ['accuracy'])
model.fit(X1, y1, batch_size=13, epochs=1, validation_split=0.1, steps_per_epoch=1727, callbacks=[tensorboard])
model.save('CNN3.model')
请让我知道如何从边界框过程开始