基于深度学习的中国美术作品分类研究系统的设计与实现 项目说明

代码编号 2648

一、项目概述

本系统是一个基于深度学习的中国美术作品智能分类研究系统,使用 ResNet50 作为骨干网络,实现多任务学习框架,能够同时对美术作品的题材、技法、朝代、流派进行自动分类识别,并提供注意力热力图可视化功能,帮助用户理解模型的分类依据。

以下是系统实现部分功能截图

在这里插入图片描述

系统配套文档

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、技术栈

2.1 后端技术栈

技术版本用途
Python3.9+开发语言
Flask3.0.0Web框架
Flask-CORS4.0.0跨域支持
PyMySQL1.1.0MySQL数据库连接
PyTorch2.0.1深度学习框架
TorchVision0.15.2图像处理
OpenCV4.8.0.76计算机视觉
NumPy1.24.3数值计算
Pandas2.0.3数据处理
Pillow10.0.0图像处理

2.2 前端技术栈

技术版本用途
Vue3.5.24前端框架
Vue Router4.6.3路由管理
Element Plus2.11.7UI组件库
Axios1.13.2HTTP请求
Pinia3.0.4状态管理
Vite7.2.2构建工具
ECharts6.0.0数据可视化
Marked17.0.1Markdown解析

2.3 数据库

  • MySQL 8.0+

三、系统角色与功能描述

3.1 系统用户(浏览者/研究者)

作品博览与检索
  • 按朝代、流派、作者、题材等多维度浏览与检索美术作品高清图像及详细元数据(如材质、尺寸、藏地)
  • 支持以图搜图、风格相似性检索等高级搜索功能
智能分类与分析
  • 提供单张或批量美术作品图片上传接口,调用后台深度学习模型进行自动分类
  • 输出风格、题材、技法、朝代等多标签分类结果
  • 可视化展示模型对输入图像的"注意力"热力图,解释分类依据,突出关键艺术特征区域
  • 生成作品的分析报告,包含分类结果、风格解析及相似作品推荐
个人空间与互动
  • 注册登录,管理个人收藏夹、检索历史与分析记录
  • 对作品添加个人标签、注释,并可分享或导出分析报告

3.2 内容管理员

作品库管理
  • 对系统作品库进行增删改查操作,审核用户上传的待分类作品或补充资料
  • 管理作品的分类标签体系,维护朝代、流派、题材等基础数据字典
知识内容管理
  • 编辑、发布与作品相关的背景知识、艺术家介绍、艺术流派解析等科普文章或视频
  • 管理"知识普及"模块的内容分类与推荐
模型与数据维护
  • 监控模型分类效果,标记可能的分类错误样本,为模型迭代提供数据
  • 协助进行数据集的清洗、扩增与标注工作

3.3 系统管理员

用户与权限管理
  • 管理系统所有用户账号,分配不同角色(用户、内容管理员)的权限
系统监控与日志
  • 监控系统运行状态、资源使用情况
  • 查看用户操作日志与模型调用日志
系统配置
  • 配置模型服务参数、文件存储路径、系统通知等全局设置
数据备份与安全
  • 定期备份系统数据库与文件资源,确保数据安全

四、测试账号

角色用户名密码
系统管理员admin123456
普通用户user01123456
内容管理员manger123456

五、核心功能亮点

5.1 AI智能分类

  • 基于ResNet50的多任务学习模型
  • 同时预测4个维度:题材(山水画、花鸟画、人物画、风俗画、界画)、技法(工笔、写意、兼工带写、白描、泼墨)、朝代(唐代、宋代、元代、明代、清代、近现代)、流派(吴门画派、浙派、松江派、四王画派、扬州八怪)

5.2 注意力可视化

  • 生成热力图展示模型关注区域
  • 红色区域表示模型关注的艺术特征区域
  • 帮助用户理解模型分类依据

5.3 相似作品推荐

  • 根据分类结果智能推荐相似作品
  • 显示相似度评分

5.4 多维度检索

  • 支持按朝代、流派、题材、技法筛选作品
  • 支持关键词搜索
  • 分页展示结果

5.5 完整的后台管理

  • 数据统计可视化(ECharts图表)
  • 操作日志记录
  • 模型调用日志追踪

六、项目结构

Flask_myproject/
├── flask_start.py          # Flask后端主程序
├── dbutils.py              # 数据库工具类
├── MydbConfig.py           # 数据库配置
├── requirements.txt        # Python依赖库
├── utils/                  # 工具模块
│   ├── model.py            # 深度学习模型定义
│   └── data_loader.py      # 数据加载器
├── static/uploads/         # 上传文件存储目录
├── templates/              # HTML模板
├── 数据库/                 # 数据库脚本
│   └── 数据库设计.sql      # 数据库表结构
├── vue_code/               # 前端Vue项目
│   ├── src/
│   │   ├── views/          # 页面组件
│   │   │   ├── home/       # 前台页面(12个)
│   │   │   └── manage/     # 后台管理页面(11个)
│   │   ├── components/     # 公共组件
│   │   ├── router/         # 路由配置
│   │   └── utils/          # 工具函数
│   └── package.json        # 前端依赖
├── Chinese_art_dataset/    # 数据集目录
│   ├── content_images/     # 内容图像
│   └── style_images/       # 风格图像
└── checkpoints/            # 模型权重文件
    └── best_model.pth

七、页面功能清单

7.1 前台页面(home目录)

页面功能描述权限
Index.vue首页:轮播图、系统简介、热门作品推荐、最新资讯公开
Classify.vue智能分类:上传图片进行AI分析,显示分类结果和注意力热力图需登录
ArtworkList.vue作品列表:多维度筛选、关键词搜索、分页展示公开
ArtworkDetail.vue作品详情:作品大图、详细信息、收藏按钮公开
ArtistList.vue艺术家列表:艺术家卡片展示、分页公开
ArtistDetail.vue艺术家详情:头像、生平简介、代表作品公开
Knowledge.vue知识普及:文章分类浏览、列表展示公开
ArticleDetail.vue文章详情:支持Markdown渲染公开
MyFavorite.vue我的收藏:查看、取消收藏需登录
UserCenter.vue用户中心:个人信息管理、修改密码、上传头像需登录
MyHead.vue头部导航组件-
MyFoot.vue底部组件-

7.2 后台管理页面(manage目录)

页面功能描述权限
Index.vue管理后台首页:数据统计概览管理员
UserManagement.vue用户管理:增删改查、重置密码、启用/禁用管理员
ArtworkManagement.vue作品管理:作品CRUD、上传图片、设置分类管理员
ArtistManagement.vue艺术家管理:艺术家CRUD、上传头像管理员
ArticleManagement.vue文章管理:文章CRUD、Markdown编辑器管理员
Dictionary.vue字典管理:朝代、流派、题材、技法字典维护管理员
PendingArtworks.vue待审核作品:用户上传作品审核管理员
Feedback.vue用户反馈:反馈列表、回复、标记处理状态管理员
ModelCallLog.vue模型调用日志:调用历史、结果查看、置信度统计管理员
OperationLog.vue操作日志:用户操作记录、筛选查询管理员
AdminCenter.vue管理员中心:个人信息管理、修改密码管理员

八、启动说明

8.1 后端启动

  1. 安装Python依赖

    pip install -r requirements.txt
    
  2. 配置数据库

    • 创建MySQL数据库
    • 执行 数据库/数据库设计.sql
    • 修改 MydbConfig.py 中的数据库连接信息
  3. 启动Flask服务

    • 双击运行:启动flask_start.bat
    • 或命令行:python flask_start.py
  4. 服务地址:http://localhost:5000

8.2 前端启动

  1. 进入前端目录

    cd vue_code
    
  2. 安装依赖

    npm install
    

    或双击:1-点我安装库.bat

  3. 启动开发服务器

    npm run dev
    

    或双击:2-启动VUE项目.bat

  4. 访问地址:http://localhost:5173


九、数据库表结构

9.1 核心表

表名说明
userinfo用户信息表
artwork美术作品表
artist艺术家表
user_favorite用户收藏表
knowledge_article知识文章表
user_feedback用户反馈表
model_call_log模型调用日志表
operation_log操作日志表

9.2 字典表

表名说明
dynasty朝代字典
art_school流派字典
subject_type题材字典
technique技法字典

9.3 配置表

表名说明
system_config系统配置表

十、注意事项

  1. 模型文件:深度学习模型文件 checkpoints/best_model.pth 需要单独下载或训练
  2. 数据库初始化:首次运行需要执行数据库初始化脚本
  3. 文件存储:上传的图片保存在 static/uploads/ 目录
  4. MySQL服务:确保MySQL服务已启动且配置正确
  5. 前后端联调:前端和后端需要同时运行才能正常使用

更多推荐