Я обучаю модель CNN для набора данных KTH , чтобы обнаружить 6 классов человеческих действий.
Обработка данных
- Набор данных состоит из 599 видео, каждоеВ акции 99-100 видеороликов в исполнении 25 разных людей.Я разделил данные на 300 видео для поезда, 98 видео для проверки и 200 видео для тестового набора.
- Я уменьшил разрешение до 50x50 пикселей, поэтому при обработке не хватает памяти.
- Я извлек 200 кадров из середины каждого видео.
- он нормализовал пиксели от 0-255 до 0,1 .
- Наконец, я горячо закодировал метки классов.
Архитектура модели
Это моя модель архитектуры .
И это код NN слоев.
model = Sequential()
model.add(Conv3D(filters=64,
kernel_size=(3, 3, 3),
strides=(1, 1, 1),
padding='valid',
activation='relu',
input_shape=X_train.shape[1:]))
model.add(MaxPooling3D(pool_size=2,
strides=(2, 2, 2),
padding='same'))
model.add(Conv3D(filters=128,
kernel_size=(3, 3, 3),
strides=(1, 1, 1),
padding='valid',
activation='relu'))
model.add(MaxPooling3D(pool_size=2,
strides=(2, 2, 2),
padding='same'))
model.add(Conv3D(filters=256,
kernel_size=(3, 3, 3),
strides=(1, 1, 1),
padding='valid',
activation='relu'))
model.add(Conv3D(filters=256,
kernel_size=(3, 3, 3),
strides=(1, 1, 1),
padding='valid',
activation='relu'))
model.add(MaxPooling3D(pool_size=2,
strides=(2, 2, 2),
padding='same'))
model.add(Conv3D(filters=512,
kernel_size=(3, 3, 3),
strides=(1, 1, 1),
padding='valid',
activation='relu'))
model.add(Dense(4096, activation='relu'))
model.add(Dense(4096, activation='relu'))
#model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(6, activation='softmax'))
model.summary()
Тренировка
Моя проблема в том, что как тренировка, так и точность проверки не меняются, и они в основном застыли с первой эпохи.Это тренировочный шаг.Это первые 6 эпох , а здесь последние 6 эпох .Потеря выглядит вот так .Потеря обучения очень высока, и потеря для проверки не меняется.и тренировка выглядит вот так .
Я в замешательстве, модель соответствует или соответствует ?Как я собираюсь решить эту проблему?Поможет ли dropout , так как я не могу сделать увеличение данных на видео (я предполагал, что)?
Я очень ценю любое предложение.