1. 项目背景与核心价值
蝴蝶作为自然界最美丽的生物之一,其种类识别一直是生态学研究的重要课题。传统分类方法依赖专家肉眼观察翅膀图案、色彩和形态特征,效率低下且容易出错。这个毕业设计项目采用卷积神经网络(CNN)构建自动化识别系统,准确率可达95%以上,比传统方法快20倍。
我在大三暑期实习时,曾参与某自然保护区蝴蝶种群监测项目。当时团队每天要处理上千张野外相机拍摄的蝴蝶照片,人工分类耗时耗力。这段经历让我深刻意识到自动化识别的价值——不仅能解放人力,还能实现实时监测和数据分析。这也是我选择这个课题作为毕业设计的初衷。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术方案选型与对比
2.1 为什么选择CNN?
卷积神经网络在图像识别领域具有先天优势。其局部连接和权值共享特性特别适合处理蝴蝶翅膀的纹理特征。与全连接网络相比,CNN参数量减少90%,训练速度提升3倍。我曾测试过SVM和随机森林等传统算法,在相同数据集上,CNN的Top-5准确率高出18-25个百分点。
2.2 模型架构演进路线
初期尝试了LeNet-5基础架构,验证集准确率仅82%。分析混淆矩阵发现,该模型对斑纹相似的凤蝶科种类区分能力不足。改进方案:
- 增加网络深度:采用VGG16架构(验证集准确率89%)
- 引入残差连接:改用ResNet34(准确率提升至93%)
- 加入注意力机制:在最后一个卷积层后添加SE模块(最终准确率96.2%)
关键发现:蝴蝶翅膀的边缘信息对分类至关重要。在数据增强时,保留原始图像边缘检测结果作为额外通道输入,可使准确率再提升1.3%
3. 数据集构建与处理
3.1 数据来源与标注规范
整合了三个公开数据集:
- 剑桥大学蝴蝶数据集(Butterfly200)
- iNaturalist平台蝴蝶观察记录
- 自建数据集(通过野外拍摄和博物馆合作获取)
标注规范特别注意:
- 只标注侧面展翅状态的照片
- 多个体同框时以最清晰个体为准
- 亚种统一归入种级分类
最终得到287类、共计42,156张标注图像
3.2 数据增强策略
针对蝴蝶图像特点设计的增强方法:
python复制transform = transforms.Compose([
transforms.RandomAffine(15, shear=
