首页 > 解决方案 > 使用深度学习卷积神经网络的手势识别

问题描述

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

我应该如何继续训练模型?:
1. 我应该从较少的手势(如 5 个)开始开发一个模型,然后逐渐增加它们吗?
2. 我应该从头开始模型还是使用迁移学习(VGG16 或其他)
应用数据增强,我用 VGG16 做了一些测试并在最后添加了一个密集分类器并获得了这些准确度:
训练:0.87610877
验证:0.8867307
测试:0.96533334

准确度和损失图

测试参数:
NUM_CLASSES = 5
EPOCHS = 50
STEPS_PER_EPOCH = 125
VALIDATION_STEPS = 75
TEST_STEPS = 75
Framework = Keras, Tensorflow
OPTIMIZER = 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()),我不会得到准确的结果。关于如何使模型健壮的任何建议?

标签: kerasdeep-learningneural-networkclassificationconv-neural-network

解决方案


推荐阅读