chenmohan/web-sdk-pp-tracking
PPLCNet ReID FP32 · Web SDK 适配
English
这是 PaddleDetection 官方发布的人体 deepsort_pplcnet.pdparams 的 FP32 ONNX 转换,用于已有检测框中的人体外观特征提取。它不是检测器,不直接分配轨迹 ID,也不识别人的真实身份。对应 SDK 为 web-sdk-PP-Tracking,转换者 chenmohan;非 Paddle 官方发行。
固定资产
网络为 PPLCNetEmbedding(scale 2.5,1280 维 neck 输入、512 维输出)。推理状态共 146 个张量、8,419,792 个元素,包含 BN 状态;未将其冒称为全部可训练参数。checkpoint 附加的 head.weight [512,1502] 不在官方 Embedding forward 内,转换不使用该训练头。
来源、转换与许可依据
- 官方仓库固定提交:b25522a0f4bde8c80603f3ba5e3472059972e3b5。ReID README明确列出 PPLCNet-2.5x 人体模型及权重。
- 原权重:官方下载,36,769,814 bytes,SHA-256
abce7d12af14b5b5c10c287ba01517470db3247ee06e3beeaa5ffc1c76628758。 - 转换:Paddle 2.6.2 / Paddle2ONNX 1.3.1,固定batch1;仅去除注册依赖、导出原Embedding推理图,没有重新训练或量化。裁剪、标准化及 L2 不在 ONNX 内。
- 分发采用上述官方仓库整体 Apache-2.0 授权作为官方链接权重及转换产物的依据,保留原LICENSE与NOTICE,注明来源和修改。所读取材料没有权重专属许可/独立模型卡,未声称取得额外的checkpoint专属授权或下游用途保证。
- 官方文档披露由 PaddleClas 提供、Market1501(751训练身份)训练,具体训练过程待公布。训练头维度不能用于推断额外训练集合。本仓库不分发训练图像或数据,模型的Apache许可声明不替代数据集自身条件。
Web SDK 预处理与输出
预处理版本 rgba8-white-upright-rgb-halfpixel-f64-imagenet-f32-v1:调用者提供方向已处理的 sRGB、非预乘 RGBA8 与完整图内 xywh 人体框;左/上 floor、右/下 ceil;透明像素白底合成;正常朝向 RGB、half-pixel 双线性缩放到 64×192,float64 中间计算;ImageNet mean [0.485,0.456,0.406] / std [0.229,0.224,0.225],最终 float32 NCHW。
输出按 float64 范数 L2 归一化并写回 float32(l2-f32-v1),得到512维单位向量。特征空间须同时绑定完整模型 SHA、预处理及 L2 版本。该 Web 适配与固定上游部署的转置 BGR 路径不同,不能与其向量混用,也不宣称复现未公开的训练预处理。
验证与限制
2026-09-21,本机 Windows 11 / i5-10400F / RTX5060Ti / Chromium153 / ORT Web1.27:WASM 与 WebGPU 各34组向量对 Paddle 参考通过;归一化最大绝对差约3.502e-7/4.396e-7。WebGPU禁CPU回退。源码与独立参考报告在SDK仓库的 reports/2026-09-21-reid-module/;不代表所有浏览器或手机兼容。
小样本、GT人体框的闭集检索不是完整跟踪精度;相似衣着、遮挡、低分辨率、光照与相机变化可能导致混淆。没有以本次分发宣称IDF1/MOTA提升或完整视频FPS。模型面向人体,不应把512维接口视为车辆或所有物体的通用ReID。文件解码由宿主处理,透明PNG经Canvas可能发生颜色变化,原始文件与解码RGBA并非逐字节等价。
