基于UNet的皮肤病病灶区域分割平台
本平台采用 U-Net 深度学习模型对皮肤镜图像中的病灶区域进行语义分割,提供 Web 端交互界面进行图像上传、分割推理、结果可视化与历史数据管理。系统面向科研与教学场景,支持多用户注册登录、管理员后台管理、数据分析图表等功能。
项目封面

项目说明
基于UNet的皮肤病病灶区域分割平台
项目简介
本平台采用 U-Net 深度学习模型对皮肤镜图像中的病灶区域进行语义分割,提供 Web 端交互界面进行图像上传、分割推理、结果可视化与历史数据管理。系统面向科研与教学场景,支持多用户注册登录、管理员后台管理、数据分析图表等功能。
功能模块
| 模块 | 功能说明 |
|---|---|
| 首页 | 展示系统核心指标(训练样本数、最佳 Dice、累计分割次数、注册用户数)、系统功能列表、近14日分割趋势折线图 |
| 图像分割 | 上传皮肤镜图像(JPG/PNG/BMP),调用 UNet 模型推理,输出二值掩膜、叠加可视化图、面积占比、置信度、边界框 |
| 工作台 | 用户个人分割统计(分割次数、平均面积占比、平均置信度)、近14日分割趋势柱状图、病灶面积分布饼图、置信度与面积走势图、最近分割记录列表 |
| 历史记录 | 用户全部分割记录分页浏览,支持查看分割详情 |
| 分割结果 | 原图/掩膜/叠加图三视图展示、量化指标表格(千位分隔符格式化)、面积占比饼图 |
| 关于系统 | 项目概述、技术架构、数据集信息、模型参数、训练损失曲线 |
| 个人资料 | 修改邮箱、更新密码、查看账号信息 |
| 管理后台 | 用户管理(查看/删除)、全部分割记录、系统日志、训练指标图表 |
REST API
| 接口 | 方法 | 说明 |
|---|---|---|
/api/stats | GET | 全局统计(分割总数、日趋势、面积统计、模型指标) |
/api/training-history | GET | 训练历史(每轮损失、Dice、IoU) |
/api/records/<id> | GET | 单条分割记录详情(需登录,权限校验) |
/api/user-analysis | GET | 当前用户分析数据(趋势、面积分布、置信度走势,需登录) |
标准版目录结构
python-unet-skin-fenge/
├── run.py # 应用启动入口
├── requirements.txt # Python 依赖包清单
├── mac_run.sh # macOS 一键启动脚本
├── window_run.bat # Windows 一键启动脚本
├── backend/
│ ├── __init__.py
│ ├── app.py # Flask 应用主入口,路由与 API 定义
│ ├── database.py # SQLite 数据库模型、初始化与工具函数
│ └── ml/
│ ├── __init__.py
│ ├── unet.py # UNet 模型定义(编码器-解码器结构)
│ ├── dataset.py # 数据集加载与划分
│ └── predict.py # 推理与后处理
├── frontend/
│ ├── static/
│ │ ├── css/
│ │ │ └── style.css # 自定义样式
│ │ └── js/
│ │ └── main.js # 全局脚本
│ └── templates/
│ ├── base.html # 基础模板(导航栏、Sticky Footer、CDN 引用)
│ ├── index.html # 首页
│ ├── login.html # 登录页(渐变头部设计)
│ ├── register.html # 注册页(渐变头部设计)
│ ├── dashboard.html # 工作台(含数据分析图表)
│ ├── segment.html # 图像分割页
│ ├── history.html # 历史记录页
│ ├── result.html # 分割结果页(三视图 + 饼图)
│ ├── about.html # 关于系统页
│ ├── profile.html # 个人资料页
│ └── admin/
│ ├── dashboard.html # 管理后台首页
│ └── records.html # 全部分割记录页
├── data/
│ ├── models/
│ │ ├── unet_skin_lesion.pth # 训练完成的模型权重
│ │ └── training_metrics.json # 训练指标记录
│ ├── processed/
│ │ ├── images/ # 预处理后的训练图像(900张)
│ │ └── masks/ # 预处理后的训练掩膜(900张)
│ ├── results/ # 分割结果图像(运行时生成)
│ └── uploads/ # 用户上传的原始图像(运行时生成)
├── instance/
│ └── skin_segmentation.db # SQLite 数据库文件
├── scripts/
│ ├── download_dataset.py # 数据集下载与预处理脚本
│ ├── train_model.py # 模型训练脚本
│ └── sync_db.py # 数据库同步脚本
├── 演示上传图片/
│ ├── ISIC_0000000.jpg # 大面积病灶(46.39%)
│ ├── ISIC_0000001.jpg # 小面积病灶(8.47%)
│ ├── ... # 共 8 张精选图片
│ └── 使用说明.md # 图片说明与使用方法
├── 运行步骤必看/
│ └── window.md # Windows 运行步骤说明
├── 训练手册.md # 模型训练手册
└── db说明.md # 数据库字段说明
技术栈
| 类别 | 技术 |
|---|---|
| 后端 | Python 3.12 + Flask 3.0 |
| 数据库 | SQLite 3 |
| 前端 | HTML5 + Bootstrap 5.3 + ECharts 5.5 |
| 深度学习 | PyTorch(U-Net 编码器-解码器) |
| 图像处理 | OpenCV + NumPy |
| 密码安全 | Werkzeug PBKDF2 哈希 |
环境要求
| 项目 | 要求 |
|---|---|
| Python | 3.12 |
| 操作系统 | Windows / macOS / Linux |
| 内存 | 建议 4GB 以上(模型推理时使用) |
| 磁盘 | 约 1GB(含依赖、数据集和数据库) |
| 浏览器 | Chrome / Firefox / Safari / Edge 现代版本 |
账号信息
| 角色 | 用户名 | 密码 |
|---|---|---|
| 管理员 | admin | admin123 |
管理员拥有管理后台访问权限,可管理用户、查看系统日志和全部分割记录。新注册用户默认为普通用户角色。
安全特性
| 特性 | 说明 |
|---|---|
| 密码哈希 | 使用 Werkzeug PBKDF2/scrypt 哈希,兼容旧 SHA256 格式自动升级 |
| CSRF 防护 | 退出登录使用 POST 路由,防止跨站请求伪造 |
| 路径遍历防护 | /media/<path> 路由校验路径不超出项目根目录 |
| API 字段白名单 | /api/records/<id> 仅返回白名单字段,防止敏感信息泄露 |
| 权限装饰器 | login_required 和 admin_required 保护路由 |
| 管理员保护 | 管理员账号不可被删除,不可自删 |
技术分类
包含内容
适用人群
学习参考与二次开发
关于 AI源码
AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。
相关推荐
查看全部 →
城市交通流量预测与拥堵成因分析系统
是一个面向城市交通拥堵分析的 monorepo,覆盖计算机设计课题中的主要能力链路:

电商用户行为漏斗与CRO转化率优化分析
电商用户行为漏斗与CRO转化率优化分析(E-Commerce Funnel CRO)是一套面向电商运营的数据分析平台,覆盖从用户访问到最终购买的完整漏斗链路,提供多维诊断、统计检验、PIE 优先级矩阵与 XGBoost 购买预测等能力,帮助运营团队精准定位转化瓶颈并制定优化策略。

多组学癌症预后预测分析系统
基于 Flask 的 Web 应用,用于上传 TCGA 风格合并表、做特征与标签概览、Cox 预后风险评分与生存相关可视化。模型在本地训练后以 形式加载,不提供旧版演示数据或假模型兜底。

基于 Apriori 算法的中药配伍审查系统
本系统是一个基于经典 Apriori 关联规则挖掘算法的中药配伍审查平台,使用真实中医药处方数据集(PTM-TKDE2018),实现药材频繁项集挖掘、关联规则生成与配伍禁忌审查。

基于 Python 的城市共享单车骑行需求时空分析系统
本系统是一个基于 Python Flask 框架的城市共享单车骑行需求时空分析平台,使用 Oslo City Bike(奥斯陆城市自行车)开放数据,提供系统总览、时间维度分析、空间维度分析、站点运营分析、OD 起讫流动分析、骑行需求预测、综合分析报告等功能模块,适用于城市共享单车运营调度与骑行需求研究场景。

基于 Python 的短视频用户行为分析系统
基于快手 KuaiRec / KuaiRand 数据集的短视频推荐分析平台,提供用户行为分析、推荐偏差检测、内容运营洞察、图神经网络推荐等完整分析链路。