2648-基于深度学习的中国美术作品分类研究系统的设计与实现,包括代码+论文+远程调试部署,代码完整可以直接使用
·
基于深度学习的中国美术作品分类研究系统的设计与实现 项目说明
代码编号 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 后端启动
-
安装Python依赖:
pip install -r requirements.txt -
配置数据库:
- 创建MySQL数据库
- 执行
数据库/数据库设计.sql - 修改
MydbConfig.py中的数据库连接信息
-
启动Flask服务:
- 双击运行:
启动flask_start.bat - 或命令行:
python flask_start.py
- 双击运行:
-
服务地址:http://localhost:5000
8.2 前端启动
-
进入前端目录:
cd vue_code -
安装依赖:
npm install或双击:
1-点我安装库.bat -
启动开发服务器:
npm run dev或双击:
2-启动VUE项目.bat -
访问地址: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 | 系统配置表 |
十、注意事项
- 模型文件:深度学习模型文件
checkpoints/best_model.pth需要单独下载或训练 - 数据库初始化:首次运行需要执行数据库初始化脚本
- 文件存储:上传的图片保存在
static/uploads/目录 - MySQL服务:确保MySQL服务已启动且配置正确
- 前后端联调:前端和后端需要同时运行才能正常使用
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)