@sssxyd/face-liveness-detector 0.4.0-alpha.8 → 0.4.0
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.
- package/README.en.md +118 -144
- package/README.md +23 -49
- package/dist/index.esm.js +3172 -2315
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +3172 -2315
- package/dist/index.js.map +1 -1
- package/dist/types/browser_utils.d.ts +3 -3
- package/dist/types/browser_utils.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/dlp-color-wheel-detector.d.ts +76 -0
- package/dist/types/dlp-color-wheel-detector.d.ts.map +1 -0
- package/dist/types/face-detection-engine.d.ts +113 -16
- package/dist/types/face-detection-engine.d.ts.map +1 -1
- package/dist/types/face-detection-state.d.ts +5 -2
- package/dist/types/face-detection-state.d.ts.map +1 -1
- package/dist/types/face-frontal-calculator.d.ts +3 -3
- package/dist/types/face-frontal-calculator.d.ts.map +1 -1
- package/dist/types/image-quality-calculator.d.ts +10 -23
- package/dist/types/image-quality-calculator.d.ts.map +1 -1
- package/dist/types/motion-liveness-detector.d.ts +34 -19
- package/dist/types/motion-liveness-detector.d.ts.map +1 -1
- package/dist/types/optical-distortion-detector.d.ts +116 -0
- package/dist/types/optical-distortion-detector.d.ts.map +1 -0
- package/dist/types/screen-capture-detector.d.ts +74 -115
- package/dist/types/screen-capture-detector.d.ts.map +1 -1
- package/dist/types/screen-corners-contour-detector.d.ts +78 -0
- package/dist/types/screen-corners-contour-detector.d.ts.map +1 -0
- package/dist/types/screen-flicker-detector.d.ts +103 -0
- package/dist/types/screen-flicker-detector.d.ts.map +1 -0
- package/dist/types/screen-moire-pattern-detect.d.ts.map +1 -1
- package/dist/types/screen-response-time-detector.d.ts +70 -0
- package/dist/types/screen-response-time-detector.d.ts.map +1 -0
- package/dist/types/screen-rgb-emission-detect.d.ts.map +1 -1
- package/dist/types/types.d.ts +9 -51
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/video-frame-collector.d.ts +111 -0
- package/dist/types/video-frame-collector.d.ts.map +1 -0
- package/package.json +2 -1
package/dist/types/types.d.ts
CHANGED
|
@@ -32,6 +32,14 @@ export interface FaceDetectionEngineOptions {
|
|
|
32
32
|
tensorflow_wasm_path?: string;
|
|
33
33
|
/** TensorFlow 后端选择 */
|
|
34
34
|
tensorflow_backend?: 'auto' | 'webgl' | 'wasm';
|
|
35
|
+
/** 调试模式 */
|
|
36
|
+
debug_mode?: boolean;
|
|
37
|
+
/** 调试日志最低级别(默认 'info') */
|
|
38
|
+
debug_log_level?: 'info' | 'warn' | 'error';
|
|
39
|
+
/** 调试日志阶段过滤(默认全部)- 可选择特定阶段 */
|
|
40
|
+
debug_log_stages?: string[];
|
|
41
|
+
/** 调试日志节流间隔(毫秒,默认 0 表示不节流) */
|
|
42
|
+
debug_log_throttle?: number;
|
|
35
43
|
/** 视频流建议分辨率宽度(默认 1920) */
|
|
36
44
|
detect_video_ideal_width?: number;
|
|
37
45
|
/** 视频流建议分辨率高度(默认 1080) */
|
|
@@ -40,10 +48,8 @@ export interface FaceDetectionEngineOptions {
|
|
|
40
48
|
detect_video_mirror?: boolean;
|
|
41
49
|
/** 加载视频流的超时时间(毫秒,默认 5000) */
|
|
42
50
|
detect_video_load_timeout?: number;
|
|
43
|
-
/** 检测帧之间的延迟(毫秒,默认
|
|
51
|
+
/** 检测帧之间的延迟(毫秒,默认 150) */
|
|
44
52
|
detect_frame_delay?: number;
|
|
45
|
-
/** 错误后重试前的延迟(毫秒,默认 200) */
|
|
46
|
-
detect_error_retry_delay?: number;
|
|
47
53
|
/** 要采集的静默检测次数(默认 3) */
|
|
48
54
|
collect_min_collect_count?: number;
|
|
49
55
|
/** 最小人脸尺寸比例(默认 0.5) */
|
|
@@ -68,56 +74,8 @@ export interface FaceDetectionEngineOptions {
|
|
|
68
74
|
action_liveness_verify_timeout?: number;
|
|
69
75
|
/** 最小嘴部张开百分比(默认 0.2) */
|
|
70
76
|
action_liveness_min_mouth_open_percent?: number;
|
|
71
|
-
/** 通过活体检查的最小运动分数(0-1,默认 0.15) */
|
|
72
|
-
motion_liveness_min_motion_score?: number;
|
|
73
|
-
/** 自然运动的最小关键点方差(0-1,默认 0.02) */
|
|
74
|
-
motion_liveness_min_keypoint_variance?: number;
|
|
75
|
-
/** 用于运动分析的帧缓冲区数量(默认 5) */
|
|
76
|
-
motion_liveness_frame_buffer_size?: number;
|
|
77
|
-
/** 眨眼检测的眼睛长宽比阈值(默认 0.15) */
|
|
78
|
-
motion_liveness_eye_aspect_ratio_threshold?: number;
|
|
79
|
-
/** 光流和关键点方差一致性阈值 (0-1,默认 0.3) - 防止照片微动 */
|
|
80
|
-
motion_liveness_motion_consistency_threshold?: number;
|
|
81
|
-
/** 最小光流幅度阈值 - 照片几乎无光流 (0-1,默认 0.02) */
|
|
82
|
-
motion_liveness_min_optical_flow_threshold?: number;
|
|
83
77
|
/** 是否启用严格照片检测模式(默认 false) */
|
|
84
78
|
motion_liveness_strict_photo_detection?: boolean;
|
|
85
|
-
/** 屏幕采集的置信度阈值(0-1,默认 0.7) */
|
|
86
|
-
screen_capture_confidence_threshold?: number;
|
|
87
|
-
/** 屏幕采集检测策略(默认 'adaptive') */
|
|
88
|
-
screen_capture_detection_strategy?: 'fastest' | 'fast' | 'accurate' | 'adaptive';
|
|
89
|
-
/** 综合莫尔纹置信度阈值(0-1,默认 0.65) */
|
|
90
|
-
screen_moire_pattern_threshold?: number;
|
|
91
|
-
/** 是否启用 DCT 分析(默认 true) */
|
|
92
|
-
screen_moire_pattern_enable_dct?: boolean;
|
|
93
|
-
/** 是否启用边缘检测(默认 true) */
|
|
94
|
-
screen_moire_pattern_enable_edge_detection?: boolean;
|
|
95
|
-
/** 色彩饱和度阈值(0-100%,屏幕图像通常 < 40%,默认 40) */
|
|
96
|
-
screen_color_saturation_threshold?: number;
|
|
97
|
-
/** RGB通道相关性阈值(0-1,屏幕通常 > 0.85,默认 0.75) */
|
|
98
|
-
screen_color_rgb_correlation_threshold?: number;
|
|
99
|
-
/** 像素值熵阈值(0-8,屏幕通常 < 6.5,默认 6.5) */
|
|
100
|
-
screen_color_pixel_entropy_threshold?: number;
|
|
101
|
-
/** 梯度平滑性阈值(0-1,屏幕通常 > 0.7,默认 0.7) */
|
|
102
|
-
screen_color_gradient_smoothness_threshold?: number;
|
|
103
|
-
/** 综合置信度阈值(0-1,用于判定是否为屏幕拍摄,默认 0.65) */
|
|
104
|
-
screen_color_confidence_threshold?: number;
|
|
105
|
-
/** 低频段开始位置(相对于频谱长度的百分比,默认 0.15) */
|
|
106
|
-
screen_rgb_low_freq_start_percent?: number;
|
|
107
|
-
/** 低频段结束位置(相对于频谱长度的百分比,默认 0.35) */
|
|
108
|
-
screen_rgb_low_freq_end_percent?: number;
|
|
109
|
-
/** 能量比归一化因子(默认 10) */
|
|
110
|
-
screen_rgb_energy_ratio_normalization_factor?: number;
|
|
111
|
-
/** 通道均值差异的归一化因子(默认 50) */
|
|
112
|
-
screen_rgb_channel_difference_normalization_factor?: number;
|
|
113
|
-
/** RGB 周期性能量权重(默认 0.40) */
|
|
114
|
-
screen_rgb_energy_score_weight?: number;
|
|
115
|
-
/** RGB 通道不同步程度权重(默认 0.40) */
|
|
116
|
-
screen_rgb_asymmetry_score_weight?: number;
|
|
117
|
-
/** 通道均值差异权重(默认 0.20) */
|
|
118
|
-
screen_rgb_difference_factor_weight?: number;
|
|
119
|
-
/** RGB 屏幕拍摄的置信度阈值(默认 0.65) */
|
|
120
|
-
screen_rgb_confidence_threshold?: number;
|
|
121
79
|
}
|
|
122
80
|
/**
|
|
123
81
|
* 与默认值合并后的已解析配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI7F,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,6BAA6B;IAC7B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,eAAe;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2BAA2B;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB;IACtB,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 公共帧采集器 - 统一管理多帧图像
|
|
3
|
+
*
|
|
4
|
+
* 核心功能:
|
|
5
|
+
* - 采集灰度和彩色帧
|
|
6
|
+
* - 计算视频FPS
|
|
7
|
+
* - 为多个检测器提供帧缓冲
|
|
8
|
+
* - 支持时间戳记录
|
|
9
|
+
*/
|
|
10
|
+
export interface FrameCollectorConfig {
|
|
11
|
+
bufferSize: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 公共帧采集器
|
|
15
|
+
*
|
|
16
|
+
* 多个检测器可以共用一个 VideoFrameCollector 实例,减少内存占用和代码重复
|
|
17
|
+
*/
|
|
18
|
+
export declare class VideoFrameCollector {
|
|
19
|
+
private config;
|
|
20
|
+
private grayFrames;
|
|
21
|
+
private bgrFrames;
|
|
22
|
+
private frameTimestamps;
|
|
23
|
+
private frameWidth;
|
|
24
|
+
private frameHeight;
|
|
25
|
+
private averageFps;
|
|
26
|
+
private fpsHistory;
|
|
27
|
+
constructor(config?: Partial<FrameCollectorConfig>);
|
|
28
|
+
/**
|
|
29
|
+
* 添加一帧(灰度 + 可选的彩色)
|
|
30
|
+
*
|
|
31
|
+
* @param grayMat 灰度图像矩阵(必需)
|
|
32
|
+
* @param bgrMat 彩色图像矩阵,BGR格式(可选)
|
|
33
|
+
* @param frameTimestamp 帧时间戳,毫秒(可选,默认使用当前时间)
|
|
34
|
+
*/
|
|
35
|
+
addFrame(grayMat: any, bgrMat?: any, frameTimestamp?: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* 获取灰度帧缓冲区(直接引用,不复制)
|
|
38
|
+
* @param n 返回最后n个帧,<=0或不提供则返回全部
|
|
39
|
+
*/
|
|
40
|
+
getGrayFrames(n?: number): Uint8Array[];
|
|
41
|
+
/**
|
|
42
|
+
* 获取彩色帧缓冲区(可能包含null值)
|
|
43
|
+
* @param n 返回最后n个帧,<=0或不提供则返回全部
|
|
44
|
+
*/
|
|
45
|
+
getBgrFrames(n?: number): (Uint8Array | null)[];
|
|
46
|
+
/**
|
|
47
|
+
* 获取指定索引的灰度帧
|
|
48
|
+
*/
|
|
49
|
+
getGrayFrame(index: number): Uint8Array | null;
|
|
50
|
+
/**
|
|
51
|
+
* 获取指定索引的彩色帧
|
|
52
|
+
*/
|
|
53
|
+
getBgrFrame(index: number): Uint8Array | null;
|
|
54
|
+
/**
|
|
55
|
+
* 获取当前缓冲区中的帧数
|
|
56
|
+
*/
|
|
57
|
+
getBufferedFrameCount(): number;
|
|
58
|
+
/**
|
|
59
|
+
* 获取帧时间戳
|
|
60
|
+
*/
|
|
61
|
+
getFrameTimestamp(index: number): number | null;
|
|
62
|
+
/**
|
|
63
|
+
* 获取所有帧的时间戳
|
|
64
|
+
*/
|
|
65
|
+
getFrameTimestamps(): number[];
|
|
66
|
+
/**
|
|
67
|
+
* 获取帧尺寸
|
|
68
|
+
*/
|
|
69
|
+
getFrameSize(): {
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
};
|
|
73
|
+
getFrameWidth(): number;
|
|
74
|
+
getFrameHeight(): number;
|
|
75
|
+
/**
|
|
76
|
+
* 获取平均FPS
|
|
77
|
+
*/
|
|
78
|
+
getAverageFps(): number;
|
|
79
|
+
/**
|
|
80
|
+
* 重置收集器,清空所有缓冲区
|
|
81
|
+
*/
|
|
82
|
+
reset(): void;
|
|
83
|
+
/**
|
|
84
|
+
* 清空帧缓冲区,但保留配置和FPS统计
|
|
85
|
+
*/
|
|
86
|
+
clearFrames(): void;
|
|
87
|
+
/**
|
|
88
|
+
* 获取统计信息
|
|
89
|
+
*/
|
|
90
|
+
getStats(): {
|
|
91
|
+
bufferedFrames: number;
|
|
92
|
+
bufferSize: number;
|
|
93
|
+
frameWidth: number;
|
|
94
|
+
frameHeight: number;
|
|
95
|
+
averageFps: number;
|
|
96
|
+
fpsHistory: number[];
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* 获取最近N帧(用于批量处理)
|
|
100
|
+
*/
|
|
101
|
+
getLastNFrames(n: number): {
|
|
102
|
+
grayFrames: Uint8Array[];
|
|
103
|
+
bgrFrames: (Uint8Array | null)[];
|
|
104
|
+
timestamps: number[];
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* 更新FPS统计
|
|
108
|
+
*/
|
|
109
|
+
private updateFpsStats;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=video-frame-collector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-frame-collector.d.ts","sourceRoot":"","sources":["../../src/video-frame-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;IAGpC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,eAAe,CAAe;IAGtC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,WAAW,CAAY;IAG/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAe;gBAErB,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAMlD;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAyCnE;;;OAGG;IACH,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAOvC;;;OAGG;IACH,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE;IAO/C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAO9C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAO7C;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO/C;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAOjD,aAAa,IAAI,MAAM;IAIvB,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,QAAQ,IAAI;QACV,cAAc,EAAE,MAAM,CAAA;QACtB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,EAAE,CAAA;KACrB;IAWD;;OAEG;IACH,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG;QACzB,UAAU,EAAE,UAAU,EAAE,CAAA;QACxB,SAAS,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAA;QAChC,UAAU,EAAE,MAAM,EAAE,CAAA;KACrB;IASD;;OAEG;IACH,OAAO,CAAC,cAAc;CAiCvB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@sssxyd/face-liveness-detector",
|
|
4
|
-
"version": "0.4.0
|
|
4
|
+
"version": "0.4.0",
|
|
5
5
|
"description": "Pure JS/TS implementation of liveness face detection based on human.js and opencv.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.esm.js",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"files": [
|
|
27
27
|
"dist",
|
|
28
28
|
"README.md",
|
|
29
|
+
"README.en.md",
|
|
29
30
|
"LICENSE"
|
|
30
31
|
],
|
|
31
32
|
"scripts": {
|