Распознавание рукописных знаков с использованием глубоких обучающих сверточных нейронных сетей - PullRequest
0 голосов
/ 11 февраля 2020

Я разрабатываю модель CNN для распознавания 24 знаков американского жестового языка. У меня 2500 изображений / знак рукой. Разделение данных: Тренинг = 1250 изображений / знак рукой Валидация = 625 изображений / знак рукой Тестирование = 625 изображений / знак рукой

Как мне продолжить обучение модели ?: 1. Должен ли я разработать модель, начинающуюся с меньшего количества знаков руки (например, 5), а затем постепенно увеличивать их? 2. Должен ли я запускать модели с нуля или использовать трансферное обучение (VGG16 или другое) Применяя расширение данных, я провел несколько тестов с VGG16, добавил в конце плотный классификатор и получил следующие оценки: Поезд: 0.87610877 Проверка: 0.8867307 Тест: 0,96533334

График точности и потерь

Параметры испытаний: NUM_CLASSES = 5 ЭПОХИ = 50 STEPS_PER_EPOCH = 125 VALIDATION_STEPS = 75 TEST_STEPS = 75 Framework = Keras, Tensorflow ОПТИМИЗАТОР = Адам

Модель:

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')
])

Если я пробую изображения с немного другим фоном и прогнозирую классы (Foregnat_classes ()), я не получаю точных результатов. Любые предложения о том, как сделать модель надежной?

...