I am trying to do a single object detection. Since the problem is much simpler than multibox object localization I decided to try using a simple CNN that predicts the object class and its location. Simple neural net for this task in Keras looks like
inpt = Input(shape=input_shape, name='input_image') h = Conv2D(32, 3, 3, padding='same', activation='relu')(inpt) h = MaxPooling2D(pool_size=(2, 2))(h) h = Conv2D(64, 3, 3, padding='same', activation='relu')(h) out = MaxPooling2D(pool_size=(2, 2))(h) out = GlobalAveragePooling2D()(out) coordinates = Dense(4)(out) classes = Dense(2, activation='softmax')(classes) model = Model(inputs=inpt, outputs=concatenate([coordinates, classes]))
Here I reduced the problem to detect an object of one type or background - binary classifier.
Now I want to make sure my pipeline is set up correctly so I want to overfit the model with several examples - train. I am able to do it. Next I want to take a bigger net as the base, for example, Mobilenet. And the problem is that I can't overfit it even on one example. Any thoughts?