一、项目概述
"智宠医"宠物全科云诊断系统是一款基于深度学习技术的宠物皮肤病智能诊断平台。系统通过上传宠物患处图片,利用训练好的卷积神经网络模型进行疾病识别,并结合大语言模型(Kimi AI)提供专业的病症分析和治疗建议,帮助宠物主人快速了解宠物健康状况。
二、系统功能
2.1 图像识别诊断
支持上传 PNG、JPG、JPEG、GIF、BMP 格式的宠物患处图片
文件大小限制:16MB
实时返回疾病分类结果和置信度
2.2 疾病分类类别
系统目前支持识别以下 5 种常见宠物皮肤疾病:
| 序号 | 疾病名称 | 样本数量 |
| 1 | 口腔病 | 101张 |
| 2 | 湿性皮炎 | 188张 |
| 3 | 皮肤肿瘤 | 72张 |
| 4 | 脓包病 | 39张 |
| 5 | 蜱虫感染 | 85张 |
2.3 AI 智能分析
识别完成后,系统可调用 Kimi AI 大语言模型,提供:
病症详情:成因、症状、发病机制
相似病症:3-5 种相似疾病及区别
治疗方案:紧急处理、药物治疗、日常护理、预防措施
就医建议:是否需要立即就医及检查项目
2.3.1 Kimi API配置
from openai import OpenAI # Kimi API配置 KIMI_API_KEY = "写自己的API" KIMI_BASE_URL = "https://api.moonshot.cn/v1" # 初始化Kimi客户端 kimi_client = OpenAI( api_key=KIMI_API_KEY, base_url=KIMI_BASE_URL )三、技术架构
3.1模型构建
def build_model(num_classes: int) -> nn.Module: # 加载预训练的ResNet34 if USE_PRETRAINED: weights = models.ResNet34_Weights.IMAGENET1K_V1 model = models.resnet34(weights=weights) else: model = models.resnet34(weights=None) # 冻结前2个卷积块(迁移学习策略) if USE_PRETRAINED: for name, param in model.named_parameters(): if 'layer1' in name or 'conv1' in name or 'bn1' in name: param.requires_grad = False # 替换最后的全连接层 num_features = model.fc.in_features model.fc = nn.Sequential( nn.Dropout(DROPOUT_RATE), nn.Linear(num_features, num_classes) ) return model3.2 混淆矩阵
四、项目目录结构
项目根目录/ ├── app.py # Flask Web 服务主程序 ├── train_pet_disease_classifier.py # 模型训练脚本 ├── convert_images.py # 图像格式转换工具 ├── requirements.txt # Python 依赖包列表 ├── templates/ │ └── index.html # 前端页面 ├── data/ # 训练数据集 │ ├── 口腔病/ │ ├── 湿性皮炎/ │ ├── 皮肤肿瘤/ │ ├── 脓疱病/ │ └── 蜱虫感染/ └── 20251120_112941/ # 训练输出目录 ├── best_model.pt # 最佳模型权重 ├── confusion_matrix.png # 混淆矩阵图 ├── loss_curve.png # 损失曲线图 └── training_log.txt # 训练日志五、视频演示
宠物病症