I am developing a CNN model to recognize 24 hand-signs of American Sign Language. I have 2500 Images/hand-sign. The data split is:
Training: 1250 Images/hand-sign
Validation: 625 Images/hand-sign
Testing: 625 Images/hand-sign
How should I proceed with training the model?:
1. Should I develop a model starting from fewer hand-signs (like 5) and then increase them gradually?
2. Should I start models from scratch or use transfer learning (VGG16 or other)
Applying data augmentation, I did some tests with VGG16 and added a dense classifier at the end and received these accuracies:
Train: 0.6560544
Validation: 0.8376694
Test: 0.8810667
Model:
from tensorflow.keras.regularizers import l2
model = Sequential([
conv_base,
Flatten(),
Dropout(0.5),
Dense(512, activation='relu', kernel_regularizer=l2(0.01)),
Dropout(0.5),
Dense(NUM_CLASSES, activation='softmax')
])
EPOCHS = 100
STEPS_PER_EPOCH = 125
VALIDATION_STEPS = 75
TEST_STEPS = 75
Framework: Keras, Tensorflow
OPTIMIZER = adam
#artificialintelligence #deeplearning #cnn #handsignsrecognition #imageclassification #keras #tensorflow