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

代码编号 2648

一、项目概述

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

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

在这里插入图片描述

系统配套文档

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

二、技术栈

2.1 后端技术栈

技术 版本 用途
Python 3.9+ 开发语言
Flask 3.0.0 Web框架
Flask-CORS 4.0.0 跨域支持
PyMySQL 1.1.0 MySQL数据库连接
PyTorch 2.0.1 深度学习框架
TorchVision 0.15.2 图像处理
OpenCV 4.8.0.76 计算机视觉
NumPy 1.24.3 数值计算
Pandas 2.0.3 数据处理
Pillow 10.0.0 图像处理

2.2 前端技术栈

技术 版本 用途
Vue 3.5.24 前端框架
Vue Router 4.6.3 路由管理
Element Plus 2.11.7 UI组件库
Axios 1.13.2 HTTP请求
Pinia 3.0.4 状态管理
Vite 7.2.2 构建工具
ECharts 6.0.0 数据可视化
Marked 17.0.1 Markdown解析

2.3 数据库

  • MySQL 8.0+

三、系统角色与功能描述

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

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

3.2 内容管理员

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

3.3 系统管理员

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

四、测试账号

角色 用户名 密码
系统管理员 admin 123456
普通用户 user01 123456
内容管理员 manger 123456

五、核心功能亮点

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. 前后端联调:前端和后端需要同时运行才能正常使用
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐