项目概述
这是一个基于PyTorch和ResNet50的蝴蝶图像分类系统,能够识别20种不同的蝴蝶种类。项目包含预训练模型、完整的预测代码和测试数据集。
项目下载链接:点击下载
软件要求
- 依赖: 见 requirements.txt
安装步骤
步骤1: 解压项目文件
将您下载的zip文件解压到您选择的目录中:
Windows系统:
1. 右键点击zip文件
2. 选择”解压到当前文件夹”或”解压到…”
3. 选择一个合适的目录(如 C:\Projects\Butterfly200)
Linux系统:
unzip Butterfly200.zip -d ~/Projects/Butterfly200
cd ~/Projects/Butterfly200
步骤2: 创建虚拟环境(推荐)
Windows系统:
cd C:\Projects\Butterfly200
python -m venv butterfly_env
butterfly_env\Scripts\activate
Linux系统:
cd ~/Projects/Butterfly200
python3 -m venv butterfly_env
source butterfly_env/bin/activate
步骤3: 安装依赖包
在激活的虚拟环境中,安装项目依赖:
pip install -r requirements.txt
如果安装速度慢,可以使用国内镜像源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
步骤4: 验证安装
检查PyTorch是否正确安装:
python -c "import torch; print(f'PyTorch版本: {torch.__version__}'); print(f'CUDA可用: {torch.cuda.is_available()}')"
项目文件结构说明
Butterfly200/
├── butterfly_predictor.py # 主要的预测函数
├── predict_butterfly.py # 完整的预测器类
├── test_predictor.py # 测试脚本
├── butterfly_classifier.pth # 预训练模型权重
├── Butterfly20_dict.json # 类别映射文件
├── genus.txt # 属信息文件
├── species.txt # 种信息文件
├── requirements.txt # 依赖包列表
├── Butterfly20/ # 蝴蝶图像数据集
│ ├── 001.Atrophaneura_horishanus/
│ ├── 002.Atrophaneura_varuna/
│ └── ... (20个蝴蝶种类目录)
├── image/ # 示例图片目录
└── data/ # 数据相关文件
使用方法
方法1: 使用Python函数调用
创建测试脚本 test_my_image.py:
from butterfly_predictor import predict_butterfly
# 预测单张图片
result = predict_butterfly("您的图片路径.jpg")
if 'error' in result:
print(f"错误: {result['error']}")
else:
print("预测结果:")
print(f"蝴蝶种类: {result['scientific_name']}")
print(f"置信度: {result['confidence']:.4f}")
print(f"常见中文名: {result['common_name']}")
print(f"属: {result['genus']}")
print(f"种: {result['species']}")
运行脚本:
python test_my_image.py
方法2: 使用命令行测试
测试项目自带的示例图片:
python test_predictor.py
测试特定图片:
python test_predictor.py Butterfly20/001.Atrophaneura_horishanus/001.jpg
方法3: 直接运行预测器
python butterfly_predictor.py
训练好的模型文件是
butterfly_classifier.pth
如果想自己训练模型的话只需运行train_model.py即可