当前位置: 首页 > news >正文

面向「宠物识别 + 图像生成」业务场景的Vue3 数据可视化大屏系统——基于深度学习的宠物识别图像生成 · 数据可视化大屏

基于深度学习的宠物识别图像生成 · 数据可视化大屏

面向「宠物识别 + 图像生成」业务场景的Vue3 数据可视化大屏系统。系统包含用户登录与权限管控、多页 ECharts 可视化、中央可交互 3D 宠物模型、世界/国家/省/市地图下钻、模型预测调试、数据与用户管理、数据库连接配置以及全局样式设置等完整能力。


目录

  • 项目简介

  • 技术栈

  • 功能说明

  • 项目结构

  • 环境要求

  • 安装与启动

  • 默认账号与权限

  • 页面与路由说明

  • 后端接口概览

  • 模型预测说明

  • 地图下钻说明

  • 数据存储说明

  • 常见问题

  • 构建与部署


项目简介

本系统以「基于深度学习的宠物识别图像生成方法」为主题,将识别准确率、生成质量、样本分布、品种统计等业务指标进行可视化展示,并提供可交互的 3D 模型与地图下钻能力,便于演示、监控与管理。

核心能力包括:

  1. 登录认证:粒子特效登录页、服务端 SVG 验证码、账号/手机号登录、JWT 鉴权

  2. 可视化大屏:中央全屏 3D 宠物模型 + 左右透明图表叠层,多页 ECharts 图表组合

  3. 三维洞察:三维散点 / 三维柱状 / 散点矩阵,坐标轴使用业务语义标签

  4. 地图分布:世界 → 国家 → 省 → 市逐级下钻

  5. 模型预测:图片上传压缩、特征预提取、参数滑条调试、候选结果展示

  6. 后台管理:宠物数据 CRUD、Excel 导入导出、用户管理、数据库连接、主题样式设置


技术栈

前端

技术用途
Vue 3页面与组件
Vite开发与构建
Vue Router路由与权限守卫
Pinia用户 / 主题状态
Element PlusUI 组件
ECharts / ECharts-GL二维与三维图表、地图
Three.js中央可交互 3D 宠物模型
AxiosHTTP 请求
Sass样式

后端

技术用途
ExpressREST API
better-sqlite3本地 SQLite 数据库
JWT + bcryptjs登录鉴权与密码加密
Multer图片 / 文件上传
xlsxExcel 导入导出

功能说明

1. 登录与安全

  • 左侧系统介绍与示意图,右侧登录表单

  • Canvas 粒子跳动背景特效

  • 验证码由服务端生成 SVG 图片返回(不返回明文),点击图片或「刷新」可更换

  • 支持账号登录/手机号登录

  • 验证码一次性消费,错误或过期需重新获取

2. 可视化大屏(识别总览 / 生成分析 / 三维洞察)

  • 布局:顶部目录 + 底部管理入口;中央 3D 模型全屏;左右图表半透明叠层

  • 3D 模型:低多边形猫 / 狗形象,可拖拽旋转、点击查看样本数据,外围节点按物种展示

  • 图表类型(组合使用)

    • 大数据量面积图、渐变堆叠面积图、缓动函数可视化

    • 矩阵微型折线图、归一化堆叠柱状图、阶梯瀑布图

    • 主题河流图、象形柱图、日历热力图

    • 相关矩阵(热力 / 散点)

    • 三维散点图、三维柱状图、散点矩阵

3. 地图分布

  • 世界地图按业务分类着色(猫识别热区、狗识别热区、生成高活跃等)

  • 点击国家进入国家地图(中国为真实省级 GeoJSON)

  • 再点击省级进入市级地区

  • 支持面包屑 / 返回上一级 / 世界总览

4. 模型预测

  • 阈值、温度、Top-K、模型版本、图像增强等参数可调

  • 上传 JPG / PNG / WEBP / GIF(≤ 8MB),支持自动压缩与特征预提取

  • 多信号融合打分(主色、亮度、冷暖、构图、文件名关键词、库内先验等)

  • 展示 Top 结果、准确率、候选列表与历史记录

5. 数据与系统管理

模块能力权限
数据管理宠物样本增删改查、Excel 导入导出admin / analyst
用户管理添加 / 编辑 / 删除用户,角色分配admin
数据库设置连接配置、测试、启用admin
样式设置背景色、主色、字体、字号、面板透明度、标题admin

管理页表格已做深色透明样式处理,并支持页面滚动条完整浏览内容。


项目结构

Vue19/ ├── index.html # 入口 HTML ├── package.json # 前端依赖与脚本 ├── vite.config.js # Vite 配置(代理 /api → 3001) ├── README.md ├── src/ │ ├── main.js # 应用入口 │ ├── App.vue │ ├── api/index.js # Axios 封装 │ ├── router/index.js # 路由与登录守卫 │ ├── stores/ # Pinia:user / theme │ ├── styles/global.scss # 全局主题与表格去白底 │ ├── utils/ │ │ ├── charts.js # ECharts 配置工厂 │ │ └── imagePredict.js # 图片校验、压缩、特征提取 │ ├── components/ │ │ ├── Particles.vue # 登录粒子特效 │ │ ├── Captcha.vue # 验证码组件 │ │ ├── ChartBox.vue # 图表容器 │ │ └── Pet3DModel.vue # Three.js 宠物 3D 模型 │ └── views/ │ ├── Login.vue │ ├── Layout.vue # 大屏外壳(上下导航) │ ├── Predict.vue │ ├── DataManage.vue │ ├── UserManage.vue │ ├── DbSettings.vue │ ├── StyleSettings.vue │ └── dashboard/ │ ├── Screen1.vue # 识别总览 │ ├── Screen2.vue # 生成分析 │ ├── Screen3.vue # 三维洞察 │ └── ScreenMap.vue # 地图分布 └── server/ ├── package.json ├── index.js # Express 主服务 ├── db.js # SQLite 初始化与种子数据 ├── mapData.js # 地图分层统计数据 ├── predictEngine.js # 预测引擎 ├── data/pet.db # SQLite 数据库文件(运行后生成) └── uploads/ # 上传图片目录

环境要求

  • Node.js:建议18.x/20.x(本项目在 Node 20 下验证)

  • npm:随 Node 安装即可

  • 需能访问外网以加载地图 GeoJSON(世界地图 CDN、中国行政区划 DataV)

Windows 下若better-sqlite3安装失败,请确认已安装对应 Node 版本的构建工具,或使用已提供的兼容版本依赖。


安装与启动

1. 安装依赖

在项目根目录执行:

# 前端依赖 npm install ​ # 后端依赖 cd server npm install cd ..

2. 启动服务(需要两个终端)

终端 1 — 后端 API(端口 3001)

npm run server

看到类似输出表示成功:

Pet Dashboard API running at http://127.0.0.1:3001

终端 2 — 前端开发服务(端口 5173)

npm run dev

浏览器访问:http://localhost:5173/

3. 停止服务

在对应终端使用Ctrl + C,或结束占用3001/5173端口的进程。


默认账号与权限

系统首次启动会自动写入种子用户与示例宠物数据。

用户名密码角色手机号权限说明
adminadmin123管理员13800000000全部功能(含用户 / 数据库 / 样式)
analystuser123分析员13700000000大屏、预测、数据管理(可编辑)
vieweruser123访客13900000000大屏与预测只读,无数据/用户管理

登录页支持:

  • 账号 + 密码 + 验证码

  • 手机号 + 密码 + 验证码(如13800000000


页面与路由说明

路由页面说明
/login登录公开页
/screen/1识别总览3D + 面积/堆叠/缓动/微型折线等
/screen/2生成分析3D + 主题河流/象形柱/日历/相关矩阵等
/screen/3三维洞察3D + 三维散点/柱状/散点矩阵
/screen/map地图分布世界-国家-省-市下钻
/predict模型预测上传图片与参数调试
/data数据管理需 admin / analyst
/users用户管理需 admin
/db数据库设置需 admin
/style样式设置需 admin

未登录访问受保护路由会跳转到/login;无权限路由会回退到识别总览。


后端接口概览

基础地址:http://127.0.0.1:3001/api前端开发时通过 Vite 代理:/api3001

除验证码、登录外,其余接口一般需要请求头:

Authorization: Bearer <token>
方法路径说明
GET/captcha获取验证码图片(id + image)
POST/login登录
GET/me当前用户
GET/POST/PUT/DELETE/users用户管理
GET/POST/PUT/DELETE/pets宠物数据 CRUD
GET/pets/export导出 Excel
POST/pets/import导入 Excel
GET/dashboard/overview大屏汇总数据
GET/dashboard/model-nodes3D 节点数据
GET/dashboard/map-meta地图元数据
GET/dashboard/map-stats地图分层统计
GET/map/geoGeoJSON 代理
POST/predict图片预测
GET/predictions预测历史
GET/PUT/settings系统样式
GET/POST/PUT/DELETE/db-config数据库连接配置

模型预测说明

预测流程:

  1. 前端校验格式与大小,可选压缩至最长边 1280

  2. Canvas 提取主色、亮度、饱和度、构图比例等客户端特征

  3. 服务端结合图像字节特征、文件名关键词、SQLite 品种先验、模型版本与增强开关进行多信号打分

  4. Softmax + 置信度校准后返回 Top-K 候选

提升准确率的建议:

  • 使用清晰、主体突出的宠物照片

  • 文件名可包含品种关键词(如金毛.jpg布偶猫.png

  • 优先选择模型版本PetGen-Net-v2,并开启「图像增强预处理」

  • 温度系数偏低(如0.8~1.0)时结果更收敛

说明:当前预测引擎为演示用多特征融合方案,便于系统联调与可视化展示;生产环境可替换为真实深度学习推理服务。


地图下钻说明

层级路径:

世界地图 → 国家地图 → 省级地区 → 市级地区
  • 中国:省级 / 市级使用阿里云 DataV 行政区划 GeoJSON(经后端代理,避免跨域)

  • 其他国家:国家边界取自世界地图要素;省 / 市级采用业务分区可视化,可继续点击下钻

  • 右侧提供分类图例、区域列表与当前选中详情;顶部面包屑可快速返回

首次进入地图页需要加载世界 GeoJSON,请保持网络畅通。


数据存储说明

  • 数据库文件:server/data/pet.db(首次启动自动创建并写入种子数据)

  • 主要数据表:

    • users:用户与角色

    • pet_records:宠物样本

    • chart_metrics:图表时序指标

    • system_settings:主题样式

    • db_config:数据库连接配置

    • predictions:预测历史

  • 上传文件目录:server/uploads/


常见问题

1. 前端能打开,但登录或接口失败?请确认后端已启动在3001,且vite.config.js/api代理配置正确。

2. 验证码一直提示错误?验证码为一次性;每次失败后需点击刷新。注意区分大小写不敏感,但仍需输入图片中的字符。

3. 地图空白或加载失败?检查网络是否可访问jsdelivrgeo.datav.aliyun.com;后端需正常代理/api/map/geo

4. 表格出现白色背景?全局样式已覆盖 Element Plus 表格背景;若仍异常,请强制刷新浏览器缓存。

5. 如何彻底停止服务?在运行终端按Ctrl + C,或结束占用30015173的 Node 进程。


构建与部署

前端生产构建

npm run build

产物输出到dist/,可用任意静态服务器托管。注意将/api反向代理到后端服务。

后端生产启动

cd server node index.js

建议使用进程守护(如 PM2):

pm2 start server/index.js --name pet-dashboard-api

环境建议

  • 修改server/index.js中的 JWTSECRET

  • 生产环境使用 HTTPS,并限制上传目录访问策略

  • 按需备份server/data/pet.db


快速体验路径

  1. 启动前后端,打开 http://localhost:5173

  2. 使用admin / admin123+ 验证码登录

  3. 依次查看:识别总览 → 生成分析 → 三维洞察 → 地图分布

  4. 进入模型预测,上传一张宠物图片进行识别

  5. 在数据管理中增删样本,在样式设置中调整主题色


License

本项目用于教学演示与可视化大屏实践,可按需自行扩展与二次开发。

GitHub - zhangsansh/Vue3-ECharts-Three.js-Express-SQLite: 面向「宠物识别 + 图像生成」业务场景的 Vue3 数据可视化大屏系统。系统包含用户登录与权限管控、多页 ECharts 可视化、中央可交互 3D 宠物模型、世界/国家/省/市地图下钻、模型预测调试、数据与用户管理、数据库连接配置以及全局样式设置等完整能力。 · GitHub面向「宠物识别 + 图像生成」业务场景的 Vue3 数据可视化大屏系统。系统包含用户登录与权限管控、多页 ECharts 可视化、中央可交互 3D 宠物模型、世界/国家/省/市地图下钻、模型预测调试、数据与用户管理、数据库连接配置以及全局样式设置等完整能力。 - zhangsansh/Vue3-ECharts-Three.js-Express-SQLitehttps://github.com/zhangsansh/Vue3-ECharts-Three.js-Express-SQLite.git

http://www.jsqmd.com/news/1323788/

相关文章:

  • 连刷4家不同门店,朋友聚餐选看得见的新鲜牛肉火锅
  • 2026 年现阶段三门峡专业的石雕二十四孝制造企业有哪些,你家门口摆的老石雕,藏着被误解了几百年的孝意真相? - 企业官方推荐【认证】
  • 如何5分钟搞定DDrawCompat:让经典DirectX游戏在现代Windows上重生
  • 2026 年现阶段阿坝正规的水下救援施工队哪家专业,他在水底死死拽住那道黑影,谁也没注意到岸边的应急设备差点错过那30秒。 - 行业推荐官【认证】
  • Pprof 全套调优实战:CPU / 内存 / 协程泄漏一键定位
  • POWERMILL2020-2025许可证报警的解决办法
  • Orin 上目标检测 + 大模型做端侧应用
  • 【单片机毕业设计推荐】基于 STM32 的超声波测距预警与蓝牙 APP 监测系统设计与实现,基于 STM32 的温度补偿超声波测距声光报警装置研发(014205)
  • Wand-Enhancer技术解析:构建游戏修改器扩展平台的架构设计与实现原理
  • SpringBoot构建客制化键盘商城的技术实践
  • 如何在3分钟内让Arduino变身工业设备通讯专家?ModbusMaster库终极指南
  • 2026 年现阶段,保康正规的白酒代理 生产商哪家可靠,想靠副业攒首付?这趟关于它的选品坑,你千万别踩 - 鉴选官
  • 2026 广东耐酸碱地坪漆源头厂家优选:德奕希新材料 - 趣闻早乐评
  • 空洞骑士模组管理器Scarab:3分钟快速安装完整指南
  • K8s HPA自动扩缩容实战:原理与调优指南
  • 2026 年更新:顺义正规的海洋展览出租服务团队哪家权威,别再花大费搭建海洋展了,这玩意儿竟能帮你省下几十万成本? - 行业推荐官[官方】--
  • Linux应急响应:流程、命令与工具全解析
  • 2026 年至今,乌马河靠谱的建筑阻燃防火板销售厂家深度解析,你以为家装失火只有灭火器能救命?这玩意儿竟能把火势压到萌芽状态! - 行业严选官
  • 用友ERP系统技术架构与实施实战指南
  • 深度置信网络(DBN)在股票预测中的实践与应用
  • Java:DDD 微服务分层 + API 契约 + Provider 供给分层/API+Provider双模块架构全景深度解析
  • 长治会议音响选型,结合场地面积匹配适配合适方案
  • DINOv2完整指南:如何选择最适合你的自监督视觉模型
  • Orin 上用 DeepStream 跑多路检测
  • 2026 年现阶段临邑比较好的园林陶粒源头厂家哪家专业,给盆栽铺层这小颗粒,半年不浇水还能疯长?老园丁都偷偷用的好物是啥? - 行业严选官
  • League Akari:英雄联盟玩家的智能游戏管家全面升级指南
  • ISA-95(IEC 62264)企业控制系统集成国际标准
  • 第8天20260803
  • Linux内核容器运行时技术深度解析与优化实践
  • FluxDown开源下载器:从编译到实战,替代IDM的完整指南