You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CNN模型测试集表现差求助:人体卧床朝向识别精度不足50%

我的CNN模型测试集表现不佳问题

问题背景

  • 任务目标:判断卧床人员的朝向,设置3个类别:仰卧、朝左、朝右
  • 数据情况:训练集含4800张裁剪后图像(仅保留卧床人员,包含深色/白色背景),验证集含1500张图像
  • 测试结果:测试精度低于50%,损失值≥1.0

数据处理相关代码

输入形状定义:
INPUT_SHAPE = (250,150,1)

数据生成器配置:

traindata = ImageDataGenerator(rescale=1./255, shear_range=0.2,width_shift_range=0.1, height_shift_range=0.1, zoom_range=0.2,rotation_range=45, horizontal_flip=False, vertical_flip=False, brightness_range=[0.3,2.0])
valdata = ImageDataGenerator(rescale=1./255)

数据集加载:

training_set = traindata.flow_from_directory(TRAIN_DIR, target_size=INPUT_SHAPE[:-1], 
                                                 shuffle=True,batch_size=BATCH_SIZE, color_mode='grayscale', 
                                                 class_mode='categorical')

validation_set = valdata.flow_from_directory(VAL_DIR, target_size=INPUT_SHAPE[:-1], 
                                                 shuffle=False,batch_size=BATCH_SIZE, color_mode='grayscale', 
                                                 class_mode='categorical')

模型与训练代码

模型结构:

model = Sequential()
model.add(Conv2D(64, (3,3), activation='relu', padding='same', input_shape=INPUT_SHAPE))
model.add(Conv2D(64, (3,3), activation='relu', padding='same'))
model.add(MaxPooling2D((2,2),strides=1))
model.add(Dropout(0.5))
model.add(Conv2D(32, (3,3), activation='relu', padding='same'))
model.add(Conv2D(32, (3,3), activation='relu', padding='same'))
model.add(MaxPooling2D((2,2),strides=1))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(128, activation="relu"))
# model.add(Dense(512, activation="relu"))
# model.add(Dropout(0.5))
model.add(Dense(units=3, activation="softmax"))


model.compile(optimizer=Adam(lr=0.001),loss='categorical_crossentropy',metrics=['accuracy'])

训练执行:

history = model.fit(training_set,
                         epochs = 100,
                         validation_data = validation_set, 
                         callbacks=[tensorboard, earlyStop]
                        )

训练曲线

训练与验证损失曲线
训练与验证精度曲线

已尝试的解决方案(禁止使用预训练模型)

  • 调整不同的神经网络结构组合
  • 添加batchnormalization和regularization
  • 修改图像尺寸
  • 扩充训练数据量
  • 更换不同优化器及调整学习率

内容的提问来源于stack exchange,提问作者mango orange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:35:28