# face-api.js 本地化依赖(h5/vendor/faceapi/) 测肤 H5 的人脸角度检测(yaw / pitch / roll)依赖 face-api.js 及其模型。 所有文件均已本地化,**运行时零外部请求**(不依赖任何 CDN),保证微信 webview / iOS Safari 在弱网、内网部署或 CDN 不可达场景下仍可稳定加载。 ## 来源与版本 | 文件 | 来源 | 版本 / 分支 | | --- | --- | --- | | `face-api.js` | https://cdn.jsdelivr.net/npm/face-api.js@0.22.2/dist/face-api.js | 0.22.2(UMD 未压缩构建,0.22.2 未提供 min 版) | | `models/tiny_face_detector_model-*` | https://github.com/justadudewhohacks/face-api.js-models (`tiny_face_detector/` 目录,raw master) | master | | `models/face_landmark_68_model-*` | 同上(`face_landmark_68/` 目录,raw master) | master | 下载时间:2026-09-26。 ## 许可证 - **face-api.js**(库与模型均出自该项目)以 **MIT License** 发布, 版权归 Vincent Mühler (justadudewhohacks) 所有。 许可证全文见 https://github.com/justadudewhohacks/face-api.js/blob/master/LICENSE 。 - `face-api.js` UMD 构建内联打包了 TensorFlow.js(tfjs-core / tfjs-converter 等), 该部分为 Apache License 2.0,Copyright 2020 Google LLC(见 `face-api.js` 文件头注释)。 MIT 与 Apache-2.0 均允许商用及再分发,保留版权声明即可。 ## 文件清单与体积 | 路径 | 体积 | 说明 | | --- | --- | --- | | `face-api.js` | 859,250 B(≈839 KB) | UMD 构建,浏览器全局变量 `faceapi` | | `models/tiny_face_detector_model-weights_manifest.json` | 2,953 B | 轻量人脸检测器权重清单(19 个张量) | | `models/tiny_face_detector_model-shard1` | 193,321 B(≈189 KB) | 检测器权重分片 | | `models/face_landmark_68_model-weights_manifest.json` | 7,889 B | 68 点特征模型权重清单(49 个张量) | | `models/face_landmark_68_model-shard1` | 356,840 B(≈349 KB) | 68 点特征模型权重分片 | 合计约 1.4 MB。已用 Node 校验:manifest JSON 可解析、`paths` 引用的 shard 均存在且非空。 ## 用法 ```html ``` 姿态估算(yaw/pitch/roll)由 `js/head-pose.js` 基于 68 特征点做纯几何计算, 不依赖 face-api 的内部 API,可独立单测。 ## 为什么本地化 1. 主战场是 iOS Safari + 微信 webview,弱网/CDN 抖动会直接导致检测功能不可用; 2. 内网 / 私有化部署时外网 CDN 可能完全不可达; 3. 锁定 0.22.2 版本,避免上游变更引发回归。