1. 项目背景与核心目标
这个毕业设计项目瞄准了计算机视觉领域两个经典但仍有提升空间的任务:人脸性别识别和情感分类。传统卷积神经网络在这两个任务上已经取得了不错的效果,但依然存在一些痛点。比如在光线条件复杂、面部遮挡或非正脸角度情况下,现有模型的准确率会明显下降。我们希望通过改进卷积模型的结构和训练策略,在保持实时性的前提下提升模型在复杂场景下的鲁棒性。
这个选题的价值在于:一方面,性别和情感识别是人机交互、智能安防、广告推荐等应用的基础能力;另一方面,现有开源模型在真实场景的表现与论文报告的指标往往存在差距。我们不仅要追求学术指标,更要关注模型在实际应用中的表现。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 模型架构设计与改进
2.1 基础网络选型
经过对比实验,我们选择ResNet50作为基础架构。相比更轻量的MobileNet,ResNet50在保持足够深度的情况下,通过残差连接缓解了梯度消失问题。具体改进包括:
- 输入层调整:将原始224x224输入改为128x128,在精度损失小于2%的情况下显著减少计算量
- 浅层特征增强:在第一个卷积块后加入SE注意力模块,增强对五官区域的关注
- 多任务输出层:共享主干网络,最后分支出两个全连接层分别处理性别和情感分类
python复制class MultiTaskResNet(nn.Module):
def __init__(self):
super().__init__()
base = resnet50(pretrained=True)
self.features = nn.Sequential(*list(base.children())[:-2])
self.gender_fc = nn.Linear(2048, 2)
self.emotion_fc = nn.Linear(2048, 7)
def forward(self, x):
x = self.features(x)
x = torch.flatten(x, 1)
return self.gender_fc(x), self.emotion_fc(x)
