Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ reports/sdk-standard/2026-09-15-detection-selection/*.log -text -whitespace
src/data/pp-detection-comparison.json -text
# 实验归档保留原始 CRLF 和文件尾空行,校验其他行尾空格。
reports/rotated-detection/2026-09-18-feasibility/** -text whitespace=blank-at-eol,space-before-tab,cr-at-eol
reports/tracking/2026-09-19-foundation/** -text whitespace=blank-at-eol,space-before-tab,cr-at-eol
# 原始构建/测试日志保留工具输出的行尾空格和尾部空行。
reports/tracking/2026-09-19-foundation/*.log -text -whitespace
8 changes: 5 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ on:
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
Expand All @@ -24,6 +22,10 @@ jobs:
- uses: actions/upload-pages-artifact@v3
with: { path: dist }
deploy:
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ readiness, not by the number of models mentioned in the catalog.

TinyPose 0.3.0、PP-Segmentation 0.1.0 与 PP-RotatedDetection 0.1.0 已正式发布。分割以 PP-YOLOE_seg_s 640 FP32 提供单帧图片、原图框与二值 ROI 掩码;旋转框以 PP-YOLOE-R-s 1024 FP32 提供 DOTA 15 类和原图四点框。两者均完成双源、npm、Release 和 HTTPS Demo 回读;旋转框固定发布证据见[独立 SDK 回执](https://github.com/chenmohan123/web-sdk-PP-RotatedDetection/tree/b54ae15ca124fd111cac6e683409fdbb88a14e13/reports/2026-09-18-release)。门户已登记第七个 SDK,并保留各自桌面验证边界。

旋转框首版已按可行性结论发布,当前不扩展切片、媒体、手机或 NPU 承诺。多目标跟踪已完成[固定参考可行性评估](../../../reports/tracking/2026-09-18-feasibility/README.md):五配置60组合成实跑和多实例状态诊断,首发候选为 ByteTrack 算法机制。低分恢复有效,同时保留交叉掉头身份交换、跨类复用、全局 ID 和时间间隔边界;根 MIT/Apache 与基础来源 GPL 的追溯差异尚需处置。下一阶段先完成来源/许可、无权重算法标准扩展和独立 API/实现设计,再验证真实序列与桌面浏览器。本轮没有建立生产 SDK、发布 npm 或分发上游代码,不把合成结果当作 MOT 精度或浏览器性能。分割精度变体和媒体扩展留待后续,Workflow 继续暂缓。
旋转框首版已按可行性结论发布,当前不扩展切片、媒体、手机或 NPU 承诺。独立 `web-sdk-pp-tracking@0.1.0` 已完成 npm、GitHub Release、HTTPS Demo 和远程治理核验:采用纯算法标准 1.2.0、ByteTrack 高低分思想的数学独立实现、Apache-2.0、实例状态与 CPU/main API,双语 Demo 及 Vanilla/React 示例保持原边界。[前期参考评估](../../../reports/tracking/2026-09-18-feasibility/README.md)中的许可疑点保留为历史,本产品不复制或分发旧参考代码;[原本地验收和七 SDK 标准回归](../../../reports/tracking/2026-09-19-foundation/README.md)也不改写。2026-09-19 固定 MOT17 七段 FRCNN 训练序列 5316 帧已评测,默认 IDF1 48.2922%、IDSW 1101、MOTA 44.4010%,消融 IDF1 48.3465%、IDSW 1066;低分续接减少漏检但增加误检和切 ID,不是测试集排行榜或官方复现。门户第八个算法条目、CPU 分类和无权重详情已准备登记;当前生产站尚未包含第八条,须在门户 PR、合并及生产回读完成后关闭。手机与跨设备兼容仍未声明。分割精度变体与媒体扩展保留后续,Workflow 继续暂缓。

## Current Baseline

Expand Down Expand Up @@ -155,4 +155,4 @@ APIs remain separate Labs work and are not prerequisites for the MVP.

## Next Concrete Task

PP-Segmentation 与 PP-RotatedDetection 门户登记均已上线。跟踪固定参考评估已完成,下一阶段以 ByteTrack 算法机制为候选,处理来源/许可与无权重标准,设计独立 API、实例状态和时间策略后再进入 TS/真实序列/桌面浏览器验证;当前无跟踪生产 SDK。上方各 Phase 为历史总体路线;Workflow 实施仍暂缓,不因新增目录项或跟踪评估而启动
PP-Segmentation 与 PP-RotatedDetection 门户登记均已上线。PP-Tracking 0.1.0 的 npm、GitHub Release、HTTPS Demo 和远程治理已核验,固定 MOT17 训练序列评测及真实身份连续性限制保持不变;门户第八条算法记录已准备登记,当前生产站尚未包含该条目,后续完成门户 PR、合并与生产回读。390px 仅为桌面布局证据。上方各 Phase 保留为历史总体路线;Workflow 实施仍暂缓。
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
- **TinyPose:0.3.0 已发布。** 三个稳定变体,单帧/人体框 API,独立 Demo 支持图片、本地视频和摄像头。物理摄像头、手机及 NPU 的验证边界保持不变。
- **PP-Segmentation:0.1.0 已发布。** PP-YOLOE_seg_s 640 FP32,单帧 Blob/RGBA、原图框和独立二值 ROI 掩码。64图四模式严格质量验收通过,最小掩码IoU为0.9987084870848708;双源八组合、npm、GitHub Release和HTTPS Demo均已核验。原始官方裁边口径失败记录保留,最终采用原图整数尺寸独立参考。[固定发布记录](https://github.com/chenmohan123/web-sdk-PP-Segmentation/tree/89b350d30305ecbc275780e455d1c115a250570f/reports/2026-09-18-release-readiness)包含许可、双源、质量和交付回执。Trusted Publishing已配置,实际OIDC发布待下一次新版本验证。门户登记为第六个SDK。
- **PP-RotatedDetection:0.1.0 已发布。** PP-YOLOE-R-s 1024 FP32,单帧 Blob/RGBA、DOTA 15 类和原图四点框。双源 × WASM/WebGPU × 主线程/Worker、npm、GitHub Release 与 HTTPS Demo 均已核验;[固定发布记录](https://github.com/chenmohan123/web-sdk-PP-RotatedDetection/tree/b54ae15ca124fd111cac6e683409fdbb88a14e13/reports/2026-09-18-release)保留模型身份、数值和交付回执。门户登记为第七个 SDK;大图切片、媒体、手机与 NPU 不在当前验证范围。
- **多目标跟踪:固定参考可行性评估完成,生产前置待办。** [60组合成实跑证据](../../../reports/tracking/2026-09-18-feasibility/README.md)覆盖官方 ByteTrack、OC-SORT 及 Paddle 两类跟踪实现;首发候选为 ByteTrack 算法机制。低分关联、短遮挡恢复已复现,同时保留掉头交叉身份交换、跨类 ID 复用、全局计数碰撞/去重及时间间隔边界。根 MIT/Apache 与基础来源 GPL 的追溯差异尚需处置;先完成来源/许可、无权重算法标准扩展与独立 API 设计,再进入 TS 和真实序列/桌面浏览器验证。本轮未建立 SDK、发布 npm 或上游代码,合成结果不是 MOT 基准,Workflow 继续暂缓。
- **多目标跟踪:0.1.0 已发布,门户第八条准备登记。** npm、GitHub Release、HTTPS Demo 与远程治理已完成核验;SDK 采用纯算法标准 1.2.0、ByteTrack 高低分思想的独立数学实现、CPU/main、有状态 API、双语 Demo 及 Vanilla/React 示例,代码 Apache-2.0,不复制或分发旧参考实现。[前期评估](../../../reports/tracking/2026-09-18-feasibility/README.md)和[原本地验收](../../../reports/tracking/2026-09-19-foundation/README.md)保持历史原貌。固定 MOT17 七段 FRCNN 训练序列 5316 帧:默认 IDF1 48.2922%、IDSW 1101、MOTA 44.4010%、FP 4169、FN 57166;低分消融 IDF1 48.3465%、IDSW 1066,说明低分关联不是普遍精度提升。这不是测试集、官方 ByteTrack 排名或视频端到端速度。门户第八个纯算法条目已准备登记,当前生产站尚未包含该条目,须待门户 PR、合并和生产回读完成后关闭。移动设备及其他后端仍未验证,Workflow 继续暂缓。

### 已完成:旋转框独立 SDK 可行性

Expand All @@ -32,7 +32,7 @@

PP-YOLOE-R-s 单尺度 FP32 已建立独立 SDK,完成四点坐标、原图还原、Blob/RGBA、浏览器预处理、显式 CPU/GPU、Worker、取消/释放、缓存、完整性校验、双源分发与正式发布。极端长宽比、平分排序与大图切片边界仍需另行验证;未经验证的能力不进入当前承诺。

旋转框任务保持独立,不加入现有轴对齐 Detection API。分割 FP16/量化和媒体能力、HRNet 等姿态扩展保留后续;跟踪依据上述证据进入来源/许可、无权重标准与独立实现设计阶段,真实视频和浏览器尚未验证。继续桌面优先、模型 SDK 的 ModelScope 默认并保留 Hugging Face,以及独立 Demo 统一风格的要求;无权重算法不得伪造模型资产/缓存或 GPU 支持。手机复核按后续发布范围安排,Workflow 仍暂缓。
旋转框任务保持独立,不加入现有轴对齐 Detection API。分割 FP16/量化和媒体能力、HRNet 等姿态扩展保留后续;跟踪已完成独立实现及固定 MOT17 训练序列评测,现为待远程核验的首次发布候选,精度与身份连续性限制按报告保留。继续桌面优先、模型 SDK 的 ModelScope 默认并保留 Hugging Face,以及独立 Demo 统一风格的要求;无权重算法不得伪造模型资产/缓存或 GPU 支持。390px 桌面视口不等同手机验证,Workflow 仍暂缓。

后文日期更早的“下一阶段”保留为历史实施记录,当前优先级以本节为准。

Expand Down
52 changes: 52 additions & 0 deletions docs/superpowers/plans/2026-09-19-pp-tracking-first-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# PP-Tracking 首版发布实施计划

> **For agentic workers:** REQUIRED SUB-SKILL: 使用superpowers:subagent-driven-development执行本轮任务及独立审查。主代理负责远程发布,子代理不得再派代理。

**Goal:** 以真实序列证据发布独立PP-Tracking 0.1.0并登记门户。
**Architecture:** 本地MOT17公开检测框进入现有SDK,固定TrackEval评分;SDK原子状态及CPU/main接口保持;门户增加算法目录类型,仅发布后登记。
**Tech Stack:** TypeScript/Node、Python/TrackEval、Playwright、Astro、GitHub Actions、npm OIDC。
**Spec:** `docs/superpowers/specs/2026-09-19-pp-tracking-release-design.md`

## Global Constraints

- SDK根 `F:/git/00_chenmohan/github/web-sdk-PP-Tracking`;门户根 `C:/Users/chenm/.codex/worktrees/segmentation-portal/chenmohan123.github.io`。原门户用户工作区不动。
- 文档、回复、注释、提交中文,公开指南保留等价英文;手动编辑apply_patch,明确文件git add,禁git add .。
- pnpm必须附 `--config.verify-deps-before-run=false --config.manage-package-manager-versions=false`。
- 用户已确认真实评测及首次发布/门户登记,旧AGENTS本地限定在本次明确授权内失效;子代理只做本地,远程由主代理处理。
- 不复制来源不明Kalman/SORT实现;TrackEval只作为离线MIT评分工具,不进生产依赖。
- 原MOT检测/GT、逐轨输出、媒体放.tmp;公开来源哈希和汇总,无数据许可扩张。保留既有历史证据。
- 每项完成有实测证据与审查;不重复未变化的大套测试。sdk:check前后报告写各任务不同路径。

### Task 1: 真实检测序列评测与复现

**Files:** SDK `scripts/evaluation/mot17/*`、`tests/mot17-adapter.test.*`、`reports/2026-09-19-mot17/*`、`docs/zh-CN/performance.md`、`docs/en/performance.md`、compatibility双语、NOTICE评测来源说明。
**Interfaces:** 现有createTracker的TrackingFrame与TrackingResult;输入官方MOT17Labels.zip,七段FRCNN默认与低分消融;输出summary.json和双语解读,输入/输出/评分器完整摘要。

- [x] 固定数据包身份、官方训练用途和引用依据、TrackEval MIT源码commit与依赖;保留来源快照于.tmp及JSON摘要,拒绝错误hash。不得读旧Kalman源码。
- [x] 用小型原创输入验证适配:MOT帧号/fps到timestamp、越界框裁剪和空框剔除、低分保留、observed+tracked导出、GT不进入SDK。示例断言:`expect(frame.timestampMs).toBe(1000 / fps); expect(result.detections[0].box.x).toBe(0)`;无效文件不得静默截断。
- [x] 实现下载/适配/运行/评分的可复跑CLI,默认输出新.tmp目录,固定归档禁止覆盖;用官方MotChallenge2DBox预处理+Identity/CLEAR计算标准指标。评分器用原创完美匹配/换ID/漏检小fixture核对定义。
- [x] 跑全部5316帧默认与low=high消融,记录每段及合计IDF1/IDSW/MOTA/FP/FN、运行耗时、容量、原始输出hash;确定性复核同输入同配置非timing输出相同。
- [x] Chromium至少一完整真实序列非耗时输出对齐,记录具体版本/CPU/main/日期;不展示未经许可的媒体。
- [x] 写真实失败模式和发布建议,运行新增相关测试+必要类型/构建以及前后checker;中文提交,给主代理报告。不做远程发布。

### Task 2: 发布候选与纯算法门户支持

**Files:** 门户 `standards/v1/portal-contract.md`、`src/lib/registry/{schema,types,labels,query}.ts`及相关测试、`src/pages/models/[slug].astro`、目录筛选、`src/content/models/pp-tracking.yaml`、`.github/workflows/deploy.yml`;SDK `AGENTS.md`、README双语、docs双语发布/兼容/性能指南、`sdk-manifest.yaml`、CHANGELOG、`.github/workflows/*`、Demo公开链接文案。
**Interfaces:** 消费Task1已审查summary;门户kind互斥模型与算法,CPU后端、multi-object-tracking分类、algorithm元数据;PP-Tracking条目仅本地待发布验证,远程合并由主代理控制。

- [x] 先扩标准:模型继续要求assets非空;算法assets=[]且algorithm必填,不接收假模型权重。schema测试覆盖旧7模型、正确算法、缺来源/算法带权重拒绝、模型缺资产拒绝。示例:`expect(modelSchema.safeParse({...tracking, assets:[modelAsset]}).success).toBe(false)`。
- [x] 实现目录/详情/筛选算法展示,CPU/JavaScript清楚,保留现有视觉令牌。单SDK详情不导入任何runtime。支持390px布局。
- [x] 更新发布候选双语文档与Demo远程链接、真实评测限制、版本0.1.0;旧本地验收报告保持历史原样。AGENTS远程规则改成明确授权下可执行,不给未来无限授权。
- [x] 发布工作流统一npm环境,先验证tag版本。支持首次手工npm已存在相同版本时安全核对并跳过重复发布,不能吞掉不一致或真正发布错误;未来版本走OIDC。Pages和CI最小权限,按实际线上/离线边界写说明。门户deploy.yml的pages/id-token写权限移至deploy job,concurrency.cancel-in-progress=false,以满足现行发布契约并保持原构建命令。
- [x] 最终候选完整SDK verify一次;门户checker/相关tests/build与浏览器目录/详情/CPU过滤/390px,保存报告;更新两份路线至待发布候选。两仓分别提交,独立审查后交主代理。

### Task 3: 首次发布、线上核验与门户合并

**Files:** SDK `reports/2026-09-19-release/*`、双语发布清单;门户路线、发布证据与最终SDK条目。
**Interfaces:** 已通过审查的SDK候选,GitHub仓库/main/Rulesets/v0.1.0、npm web-sdk-pp-tracking@0.1.0、Pages URL、Trusted Publisher仓库/release.yml/npm。

- [x] 主代理核验远程不存在冲突,创建SDK仓库,建立main基线并通过PR/CI引入审查候选;绑定并API回读默认分支与标签规则、npm/github-pages环境、Pages。
- [x] 首次npm发布使用宿主登录;遇服务端要求本人安全验证时立即给当前有效链接并继续独立准备工作。不输出token/OTP,不重复已完成的登录。
- [x] 配置 Trusted Publishing 并逐项核对 HTTP 201 保存响应(未独立 GET);发布不可变 v0.1.0 与 GitHub Release,验证 Actions、HTTPS Demo、npm dist/tarball 实际 API 消费,保存不含凭据的回执。
- [ ] 仅公开链接及部署回读通过后推送门户PR,包含此前未合并算法标准基础和本轮算法目录,核对main差异/CI后合并;attach_artifact挂载全部PR。
- [ ] 生产门户第八条、筛选/详情、Demo回放与中英文、远程治理通过;报告真实评测指标与范围,关闭计划并保留工作树/历史分支。
Loading
Loading