在分类的DNN模型上实现边界框

时间:2019-11-17 12:06:52

标签: python-3.x opencv tensorflow-datasets

我已经对我的模型进行了如下分类训练,现在我想将边界框放在对象上。让我知道从哪里开始以及如何开始。这是我的分类代码,我想在其中放置多个销售边界框,该代码会将图像分为多个比例,并根据该比例放置边界框 培训代码

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')

请让我知道如何从边界框过程开始

0 个答案:

没有答案