导出与交付
把当前结果打包成可训练、可复用的数据资产:掩码 PNG、SVG 矢量、带 bbox 与 RLE 的符号 JSON、自包含 HTML 报告,并附工程结构与评分对照。
4 · 结果导出
掩码为 8 位黑白图(前景=白),可直接作为 U-Net / DeepLab 训练的弱标签;SVG 为矢量化路径(创新点:符号级矢量化数据);符号 JSON 每条含类别、边界框坐标 [x,y,w,h]、RLE 掩码,识别报告为自包含 HTML,含符号清单、评估与鲁棒性结果。
5 · 符号样本库(少样本自主识别)
| 类别 | 样本数 |
|---|---|
| 样本库为空。 | |
自主识别流程:点提示选中一个纹样(如照片里的蝙蝠)→ 在符号识别表校正类别 → "加入样本库" → 其余同类纹样即刻自动识别(Hu 矩+形状特征最近邻)。样本库保存在浏览器本地,跨图片生效;未入库时由内置原型库(梅花/钱币/云纹/波浪/月牙/锯齿/蝙蝠/动物)匹配。
6 · 文化寓意语音播报(Web Speech API)
播报内容为内置《安塞十二生肖剪纸》民俗知识库中该类纹样的寓意解说,由浏览器 Web Speech API 合成语音,无需联网、无需额外服务;对应评分表"整幅 SVG 矢量导出 + 点击符号语音播报"附加项。若浏览器不支持语音合成,请在下方提示中查看文字寓意。
处理流水线(与图2 方法体系对应)
等待图像……
评分项对照:综合实训题目二 · 能力展示索引
| 评分模块 | 细分项 | 分值 | 本页对应能力展示 | 状态 / 演示路径 |
|---|---|---|---|---|
| 一、核心算法与 Pipeline | 1. 图像预处理与增强 | 10 | 六阶段预处理对比(原图 → 红度 → 中值去噪 → OTSU 二值化 → 形态学断线重连 → 连通域过滤),并给出每步对分割的帮助说明。 | 已实现 · 分割结果卡下部 |
| 2. 像素级语义分割 | 15 | 掩码输出与细长线条 / 微小镂空专项指标;支持导入 U-Net 离线预测 Mask 或经后端 U-Net / SAM / DeepLab 接口推理,同图对比传统方法。 | 已实现导入/接口 · 模型评估卡 | |
| 3. 符号分类与打标 | 10 | Hu 矩 + 形状特征 + 自建样本库最近邻分类;纹样全景图按类别用不同颜色框与"类别+置信度"标签直接标出(梅花 / 云纹 / 钱币…),可人工校正。 | 已实现 · 纹样全景解析 | |
| 二、技术难点攻关 | 1. 交错图案分离 | 15 | SAM 式点提示 / 框提示交互提取;"分离粘连图案"开关采用腐蚀取种子 + 多源 BFS 回扩,把粘连单体拆开后再逐只抠取(含镂空)。 | 已实现 · 左侧 ③ + ② 开关 |
| 2. 语义标签生成 | 10 | 内置民俗知识库自动生成语义标签,可选 DeepSeek 兼容端点;导出 JSON 含类别、方向、置信度、bbox [x,y,w,h]、RLE 掩码、寓意解说。 | 已实现 · 导出区 + 预览 JSON | |
| 3. 鲁棒性与泛化 | 5 | 亮度、弱光、噪声、对比度、褪色、失焦、黑纸深底、轻微破损共 8 项扰动一键测试(覆盖不同纸色与背景),给出与基准掩码的 IoU 与稳定性判定;另可在「图像上传与分割」点选 12 张不同生肖照片换图复测,验证模型未见样本上的表现。 | 已实现 · 鲁棒性卡 + 换图复测 | |
| 三、评估与产品化 | 1. 性能评估与对比 | 15 | IoU / Dice / PA / Boundary F1 + 细线召回 + 微孔完整率;同一张图左右并列展示"传统流水线 Mask"与"U-Net / DeepLab Mask",并在同表对比;分类准确率以人工复核为真值统计。 | 已实现 · 模型评估卡 |
| 2. 代码与工程规范 | 10 | 页面模块与后端契约分离(预处理 / 分割 / 分类 / 评估 / 导出),下方附工程结构与依赖清单 requirements.txt;后端脚本内置一键自检 python deeplab_segment_api.py --check(校验依赖、路由与分割链路),可直接跑通。 |
已实现 · 内置自检 + 运行指南 | |
| 3. 产品化交付形态 | 10 | 拖拽 / 点击 / 粘贴上传 → 自动分割识别 → 掩码 / SVG / JSON / HTML 报告下载,全流程无需安装,可作为 SaaS 原型演示。 | 已实现 · 打开即演示 | |
| 四、附加分 | 创新与矢量化拓展 | 10 | 符号级 SVG 矢量导出;点击符号由大模型 / 知识库生成文化寓意并语音播报;符号表人工复核与纠错闭环(复核结果回流准确率与导出)。 | 已实现 · 导出区 + 语音播报 |
说明:浏览器端负责可现场演示的完整流水线与交互;U-Net 训练权重、SAM 权重等重型模型通过"导入预测 Mask / 后端接口"接入,二者在同一评估表中对比。页面上所有指标均为当前图片实测值,不使用预设伪造数值。
工程结构与运行指南(README 摘要)
建议仓库结构(与页面模块一一对应)
papercut-symbol-seg/ ├─ preprocess/ # 红白二值化、去噪、形态学断线重连、连通域分析(OpenCV) ├─ segmentation/ # U-Net 训练/推理、SAM 点框提示封装、后端 FastAPI 服务 ├─ classify/ # CNN 分类网络 / Hu 矩+形状特征匹配 / 样本库 ├─ evaluation/ # IoU、Boundary F1、细线召回、微孔完整率、鲁棒性脚本 ├─ web/ # 多页面站点(共享 assets,顶部导航切换) │ ├─ index.html # 首页:总览 / 当前图像摘要 / 模块入口 / 12 生肖点选 │ ├─ upload.html # 步骤01 上传与分割:拖拽 / 粘贴 / 生肖点选 / 参数 / 提示交互 / 四视图 │ ├─ analysis.html # 步骤02 纹样解析与标注:L1/L2/L3 分层、寓意合成、人工复核 │ ├─ evaluate.html # 步骤03 评估与鲁棒性:指标、扰动测试、后端接入位 │ ├─ export.html # 步骤04 导出与交付:掩码 / SVG / 符号 JSON / 报告(本页) │ ├─ assets/ # style.css(主题)、app.js(算法与跨页状态)、zodiac.js(预置图 data URL) │ ├─ 1.png … 12.png # 十二生肖剪纸样张 │ ├─ deeplab_segment_api.py # FastAPI 后端:/segment、/models、/health;--check 一键自检 │ ├─ requirements.txt # 后端依赖(前端纯静态,无需安装) │ └─ DeepLab剪纸图像语义分割方案.md ├─ data/ # 原始剪纸图、Labelme 标注、真值 Mask ├─ requirements.txt └─ README.md
现场运行步骤
1) 直接双击打开 index.html(或任意子页面):首页载入示例剪纸,upload.html 可现场上传、粘贴或点选 12 生肖照片;四页通过 localStorage 联动同一张图与同一生肖。 2) 可选后端(DeepLab v1–v3+ / U-Net / SAM): pip install -r requirements.txt python deeplab_segment_api.py --check # 一键自检:依赖 / 路由 / 分割链路 python deeplab_segment_api.py # 启动服务(默认 127.0.0.1:8000) 在 evaluate.html"深度学习后端接入位"勾选启用、填写接口地址 http://localhost:8000/segment 并调用;未放权重时自动回退传统流水线。 3) 无后端时:用训练脚本导出 U-Net 预测 Mask(白=前景),在"模型评估"卡点"导入 U-Net 预测 Mask"即可同图对比。 4) 评估:上传 Labelme 导出的真值 Mask → 自动计算 IoU / BF1 / 细线召回 / 微孔完整率;符号表逐条复核得到分类准确率。 5) 交付:导出掩码 PNG、SVG 矢量、符号 JSON(含 bbox + RLE 掩码)、自包含 HTML 识别报告。
接口契约:POST /segment,multipart/form-data,字段 file / model / prompt_x / prompt_y / box,返回 mask_png_base64 / backend / foreground_ratio / boundary_ratio;另有 GET /(服务信息)、GET /health、GET /models(各版本权重状态)。字段与页面"后端接入位"完全一致,可作为 API 封装与联调依据。