Keras 基于深度学习卷积神经网络的手语识别

Keras 基于深度学习卷积神经网络的手语识别,keras,deep-learning,neural-network,classification,conv-neural-network,Keras,Deep Learning,Neural Network,Classification,Conv Neural Network,我正在开发一个CNN模型来识别美国手语的24个手势。我有2500张图片/手势。数据拆分为: 培训=1250张图片/手势 验证=625张图像/手势 测试=625个图像/手势 我应该如何继续培训模型?: 1.我是否应该从较少的手势(如5)开始开发一个模型,然后逐渐增加这些手势? 2.我应该从头开始创建模型还是使用迁移学习(VGG16或其他) 应用数据扩充,我对VGG16进行了一些测试,并在最后添加了一个密集分类器,获得了以下精度: 列车:0.87610877 验证:0.8867307 测试:0.96

我正在开发一个CNN模型来识别美国手语的24个手势。我有2500张图片/手势。数据拆分为:
培训=1250张图片/手势
验证=625张图像/手势
测试=625个图像/手势

我应该如何继续培训模型?:
1.我是否应该从较少的手势(如5)开始开发一个模型,然后逐渐增加这些手势?
2.我应该从头开始创建模型还是使用迁移学习(VGG16或其他)
应用数据扩充,我对VGG16进行了一些测试,并在最后添加了一个密集分类器,获得了以下精度:
列车:0.87610877
验证:0.8867307
测试:0.96533334

测试参数:
NUM_CLASSES=5
时代=50
每个历元的步数=125
验证步骤=75
测试步骤=75
框架=Keras,Tensorflow
优化器=adam

型号:

model = Sequential([
    Conv2D(32, (3, 3), activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
    MaxPooling2D(pool_size=(2,2)),

    Conv2D(64, (3, 3), activation='relu'),
    MaxPooling2D(pool_size=(2,2)),

    Conv2D(128, (3, 3), activation='relu'),
    MaxPooling2D(pool_size=(2,2)),

    Conv2D(256, (3, 3), activation='relu'),
    MaxPooling2D(pool_size=(2,2)),

    Conv2D(512, (3, 3), activation='relu'),
    MaxPooling2D(pool_size=(2,2)),

    Flatten(),
    Dense(512, activation='relu'),

    Dense(NUM_CLASSES, activation='softmax')
])

如果我尝试使用背景稍有不同的图像并预测类(predict_classes()),我不会得到准确的结果。关于如何使模型稳健的任何建议?

因为您已经有了一个大的数据集,所以在我看来,迁移学习是不必要的。尝试用3个手势开始训练,如果模型分数增加,则添加一个新的手势,直到准确度降低或没有要添加的手势为止。如果你在第一种情况下(准确性下降),你可能想把你的问题移到a。谢谢。我试过3个符号,但当我试过5个符号时,精确度会下降。我已经在专门的stack exchange网站上发布了它。