项目介绍
本项目围绕"猫、鸡、狗、马"四类常见动物识别场景,构建了一个前后端分离的智能识别系统。前端采用 Vue3 与 Element Plus 负责交互展示,后端基于 Flask 提供 RESTful API,利用 TensorFlow 加载训练好的 ResNet50 模型完成图片分类推理。系统支持用户注册登录、JWT 鉴权、图像上传识别、识别历史分页查询与删除,以及公告查看与后台管理等完整业务流程。用户上传图片后,后端会先进行格式与大小校验,再保存到本地 media 目录,随后调用模型进行推理,返回最高置信度类别与全部类别概率,并持久化存储到 SQLite 数据库。



选题背景与意义
随着深度学习技术快速发展,图像识别已从科研走向实际应用,在智慧农业、宠物管理、教育科普和移动端内容理解等方向具有广泛价值。传统人工识别方式存在效率低、主观性强、标准不统一等问题,尤其在高频重复判断任务中难以保证稳定性。基于此,设计并实现一个轻量化动物识别系统具有较强现实意义:一方面,系统将卷积神经网络能力封装为可直接调用的 Web 服务,使非算法背景用户也能通过网页完成识别操作,降低技术使用门槛;另一方面,项目完整覆盖"模型推理 + 后端接口 + 权限管理 + 数据留痕"的工程链路,有助于验证深度学习模型在真实业务流程中的可用性与可维护性。
关键技术栈:ResNet50
ResNet50 是一种经典深层卷积神经网络,核心思想是引入残差连接(Residual Connection),通过"恒等映射 + 残差学习"缓解深层网络训练中的梯度消失和网络退化问题。相比直接堆叠卷积层,ResNet50 能在保持较深网络表达能力的同时,提高训练稳定性与收敛效率。在本系统中,后端使用 TensorFlow 2.12 加载 resnet50_model.h5 模型,并将输入图像统一预处理为 224×224、三通道、归一化到 [0,1] 的张量,再执行前向推理得到四分类概率分布。系统根据最大概率输出最终类别,同时保留全部类别置信度用于前端展示与结果解释,提升识别透明度。工程上采用模型单例加载策略,避免每次请求重复加载模型造成延迟,增强接口响应性能。
技术架构图(Mermaid)

系统功能模块图(Mermaid Mindmap)
