@sssxyd/face-liveness-detector 0.4.0-alpha.9 → 0.4.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.en.md +115 -146
  2. package/README.md +21 -52
  3. package/dist/index.esm.js +2218 -3077
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +2218 -3077
  6. package/dist/index.js.map +1 -1
  7. package/dist/types/browser_utils.d.ts +3 -3
  8. package/dist/types/browser_utils.d.ts.map +1 -1
  9. package/dist/types/config.d.ts.map +1 -1
  10. package/dist/types/dlp-color-wheel-detector.d.ts +76 -0
  11. package/dist/types/dlp-color-wheel-detector.d.ts.map +1 -0
  12. package/dist/types/face-detection-engine.d.ts +59 -20
  13. package/dist/types/face-detection-engine.d.ts.map +1 -1
  14. package/dist/types/face-detection-state.d.ts +1 -5
  15. package/dist/types/face-detection-state.d.ts.map +1 -1
  16. package/dist/types/face-frontal-calculator.d.ts +3 -3
  17. package/dist/types/face-frontal-calculator.d.ts.map +1 -1
  18. package/dist/types/image-quality-calculator.d.ts +10 -23
  19. package/dist/types/image-quality-calculator.d.ts.map +1 -1
  20. package/dist/types/motion-liveness-detector.d.ts +258 -124
  21. package/dist/types/motion-liveness-detector.d.ts.map +1 -1
  22. package/dist/types/optical-distortion-detector.d.ts +116 -0
  23. package/dist/types/optical-distortion-detector.d.ts.map +1 -0
  24. package/dist/types/screen-capture-detector.d.ts +74 -115
  25. package/dist/types/screen-capture-detector.d.ts.map +1 -1
  26. package/dist/types/screen-corners-contour-detector.d.ts +78 -0
  27. package/dist/types/screen-corners-contour-detector.d.ts.map +1 -0
  28. package/dist/types/screen-flicker-detector.d.ts +103 -0
  29. package/dist/types/screen-flicker-detector.d.ts.map +1 -0
  30. package/dist/types/screen-moire-pattern-detect.d.ts.map +1 -1
  31. package/dist/types/screen-response-time-detector.d.ts +70 -0
  32. package/dist/types/screen-response-time-detector.d.ts.map +1 -0
  33. package/dist/types/screen-rgb-emission-detect.d.ts.map +1 -1
  34. package/dist/types/types.d.ts +8 -54
  35. package/dist/types/types.d.ts.map +1 -1
  36. package/dist/types/video-frame-collector.d.ts +111 -0
  37. package/dist/types/video-frame-collector.d.ts.map +1 -0
  38. package/package.json +2 -1
package/README.md CHANGED
@@ -31,7 +31,7 @@
31
31
  </tr>
32
32
  <tr>
33
33
  <td>🎯 <strong>全维度分析</strong><br/>质量、正对度、运动分数、屏幕检测</td>
34
- <td>🛡️ <strong>多维反欺骗</strong><br/>照片、屏幕视频、莫尔纹、RGB发光检测</td>
34
+ <td>🛡️ <strong>多维反欺骗</strong><br/>照片运动检测、屏幕时序分析、轮廓边界检测</td>
35
35
  </tr>
36
36
  </table>
37
37
 
@@ -54,8 +54,9 @@
54
54
  | 检测模块 | 技术方案 | 说明文档 |
55
55
  |---------|--------|--------|
56
56
  | **人脸识别** | Human.js BlazeFace + FaceMesh | 468个面部特征点 + 表情识别 |
57
- | **动作检测** | 多维度运动分析 | [运动检测算法](./docs/MOTION_DETECTION_ALGORITHM.md) - 光流、关键点方差、面部区域变化 |
58
- | **屏幕检测** | 三维特征融合 | [屏幕捕捉检测](./docs/SCREEN_CAPTURE_DETECTION_ALGORITHM.md) - 莫尔纹、RGB发光、色彩特征 |
57
+ | **运动活体检测** | 6指标投票系统 | [运动检测算法](./docs/MOTION_DETECTION_ALGORITHM.md) - 光流、关键点方差、眼嘴运动、面部区域变化 |
58
+ | **屏幕采集检测** | 4维度时序分析 | [屏幕采集检测算法](./docs/SCREEN_CAPTURE_DETECTION_ALGORITHM.md) - 屏幕闪烁、响应时间、DLP色轮、光学畸变 |
59
+ | **屏幕轮廓检测** | Canny边缘+轮廓分析 | [屏幕轮廓检测算法](./docs/SCREEN_CORNERS_CONTOUR_DETECTION_ALGORITHM.md) - 单帧矩形边界检测 |
59
60
 
60
61
  ---
61
62
 
@@ -139,12 +140,11 @@ const engine = new FaceDetectionEngine({
139
140
  tensorflow_wasm_path: '/wasm',
140
141
  tensorflow_backend: 'auto',
141
142
 
142
- // 检测设置(建议 ≥720p,否则屏幕检测准确率下降)
143
- detect_video_ideal_width: 1920,
144
- detect_video_ideal_height: 1080,
143
+ // 检测设置
144
+ detect_video_ideal_width: 1280,
145
+ detect_video_ideal_height: 720,
145
146
  detect_video_mirror: true,
146
147
  detect_video_load_timeout: 5000,
147
- detect_frame_delay: 100,
148
148
 
149
149
  // 采集质量要求
150
150
  collect_min_collect_count: 3, // 最少采集 3 张人脸
@@ -158,11 +158,6 @@ const engine = new FaceDetectionEngine({
158
158
  action_liveness_action_list: [LivenessAction.BLINK, LivenessAction.MOUTH_OPEN, LivenessAction.NOD],
159
159
  action_liveness_action_randomize: true,
160
160
  action_liveness_verify_timeout: 60000,
161
-
162
- // 防欺骗设置
163
- motion_liveness_min_motion_score: 0.15,
164
- motion_liveness_strict_photo_detection: false,
165
- screen_capture_confidence_threshold: 0.7,
166
161
  })
167
162
 
168
163
  // 监听核心事件
@@ -242,16 +237,23 @@ startLivenessDetection()
242
237
  | `tensorflow_wasm_path` | `string` | TensorFlow WASM 文件目录 | `undefined` |
243
238
  | `tensorflow_backend` | `'auto' \| 'webgl' \| 'wasm'` | TensorFlow 后端引擎 | `'auto'` |
244
239
 
240
+ ### 调试模式配置
241
+
242
+ | 选项 | 类型 | 说明 | 默认值 |
243
+ |-----|------|------|--------|
244
+ | `debug_mode` | `boolean` | 启用调试模式 | `false` |
245
+ | `debug_log_level` | `'info' \| 'warn' \| 'error'` | 调试日志最低级别 | `'info'` |
246
+ | `debug_log_stages` | `string[]` | 调试日志阶段过滤(undefined=全部) | `undefined` |
247
+ | `debug_log_throttle` | `number` | 调试日志节流间隔(ms) | `100` |
248
+
245
249
  ### 视频检测设置
246
250
 
247
251
  | 选项 | 类型 | 说明 | 默认值 |
248
252
  |-----|------|------|--------|
249
- | `detect_video_ideal_width` | `number` | 视频宽度(像素) | `1920` |
250
- | `detect_video_ideal_height` | `number` | 视频高度(像素) | `1080` |
253
+ | `detect_video_ideal_width` | `number` | 视频宽度(像素) | `1280` |
254
+ | `detect_video_ideal_height` | `number` | 视频高度(像素) | `720` |
251
255
  | `detect_video_mirror` | `boolean` | 水平翻转视频 | `true` |
252
256
  | `detect_video_load_timeout` | `number` | 加载超时(ms) | `5000` |
253
- | `detect_frame_delay` | `number` | 帧间延迟(ms) | `100` |
254
- | `detect_error_retry_delay` | `number` | 错误重试延迟(ms) | `200` |
255
257
 
256
258
  ### 人脸采集质量要求
257
259
 
@@ -290,48 +292,15 @@ startLivenessDetection()
290
292
  | `action_liveness_verify_timeout` | `number` | 超时时间(ms) | `60000` |
291
293
  | `action_liveness_min_mouth_open_percent` | `number` | 最小张嘴比例 (0-1) | `0.2` |
292
294
 
293
- ### 动作活体检测(防照片攻击)
295
+ ### 运动活体检测(防照片攻击)
294
296
 
295
297
  | 选项 | 类型 | 说明 | 默认值 |
296
298
  |-----|------|------|--------|
297
- | `motion_liveness_min_motion_score` | `number` | 最小运动分数 (0-1) | `0.15` |
298
- | `motion_liveness_min_keypoint_variance` | `number` | 最小关键点方差 (0-1) | `0.02` |
299
- | `motion_liveness_frame_buffer_size` | `number` | 帧缓冲区大小 | `5` |
300
- | `motion_liveness_eye_aspect_ratio_threshold` | `number` | 眨眼阈值 | `0.15` |
301
- | `motion_liveness_motion_consistency_threshold` | `number` | 一致性阈值 (0-1) | `0.3` |
302
- | `motion_liveness_min_optical_flow_threshold` | `number` | 最小光流幅度 (0-1) | `0.02` |
303
299
  | `motion_liveness_strict_photo_detection` | `boolean` | 严格照片检测模式 | `false` |
304
300
 
305
- ### 屏幕采集检测
306
-
307
- | 选项 | 类型 | 说明 | 默认值 |
308
- |-----|------|------|--------|
309
- | `screen_capture_confidence_threshold` | `number` | 置信度阈值 (0-1) | `0.7` |
310
- | `screen_capture_detection_strategy` | `string` | 检测策略 | `'adaptive'` |
311
- | `screen_moire_pattern_threshold` | `number` | 莫尔纹阈值 (0-1) | `0.65` |
312
- | `screen_moire_pattern_enable_dct` | `boolean` | 启用 DCT 分析 | `true` |
313
- | `screen_moire_pattern_enable_edge_detection` | `boolean` | 启用边缘检测 | `true` |
301
+ > **注意**:运动活体检测使用内置的6指标投票算法,其他参数已内置优化,无需手动配置。详见[运动检测算法文档](./docs/MOTION_DETECTION_ALGORITHM.md)。
314
302
 
315
- ### 屏幕色彩特征
316
-
317
- | 选项 | 类型 | 说明 | 默认值 |
318
- |-----|------|------|--------|
319
- | `screen_color_saturation_threshold` | `number` | 饱和度阈值 (%) | `40` |
320
- | `screen_color_rgb_correlation_threshold` | `number` | RGB相关性阈值 (0-1) | `0.75` |
321
- | `screen_color_pixel_entropy_threshold` | `number` | 熵值阈值 (0-8) | `6.5` |
322
- | `screen_color_gradient_smoothness_threshold` | `number` | 平滑性阈值 (0-1) | `0.7` |
323
- | `screen_color_confidence_threshold` | `number` | 置信度阈值 (0-1) | `0.65` |
324
-
325
- ### 屏幕 RGB 发光检测
326
-
327
- | 选项 | 类型 | 说明 | 默认值 |
328
- |-----|------|------|--------|
329
- | `screen_rgb_low_freq_start_percent` | `number` | 低频段开始 (0-1) | `0.15` |
330
- | `screen_rgb_low_freq_end_percent` | `number` | 低频段结束 (0-1) | `0.35` |
331
- | `screen_rgb_energy_score_weight` | `number` | 能量权重 | `0.40` |
332
- | `screen_rgb_asymmetry_score_weight` | `number` | 不同步权重 | `0.40` |
333
- | `screen_rgb_difference_factor_weight` | `number` | 差异权重 | `0.20` |
334
- | `screen_rgb_confidence_threshold` | `number` | 置信度阈值 (0-1) | `0.65` |
303
+ > **注意**:屏幕采集检测使用内置的4维度级联算法(屏幕闪烁、响应时间、DLP色轮、光学畸变)和屏幕轮廓检测,所有参数已内置优化,无需手动配置。详见[屏幕采集检测算法文档](./docs/SCREEN_CAPTURE_DETECTION_ALGORITHM.md)和[屏幕轮廓检测算法文档](./docs/SCREEN_CORNERS_CONTOUR_DETECTION_ALGORITHM.md)。
335
304
 
336
305
  ---
337
306