I am training a modified VGG-16 to classify crowd density (empty, low, moderate, high). 2 dropout layers were added at the end on the network each one after one of the last 2 FC layers.
network settings:
training data contain 4381 images categorized under 4 categories (empty, low, moderate, high), 20% of the training data is set for validation. test data has 2589 images.
training is done for 50 epochs.(training validation accuracy drops after 50 epochs)
lr=0.001, decay=0.0005, momentum=0.9
loss= categorical_crossentropy
augmentation for (training, validation and testing data): rescale=1./255, brightness_range=(0.2,0.9), horizontal_flip
With the above-stated settings, I get the following results:
training evaluation loss: 0.59, accuracy: 0.77
testing accuracy 77.5 (correct predictions 2007 out of 2589)
Regarding this, I have two concerns:
Is there anything else I could do to improve accuracy for both training and testing?
How can I know if this is the best accuracy I can get?