@sssxyd/face-liveness-detector 0.4.0-alpha.6 → 0.4.0-alpha.8
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 +844 -0
- package/README.md +544 -393
- package/dist/index.esm.js +37 -18
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +37 -18
- package/dist/index.js.map +1 -1
- package/dist/types/motion-liveness-detector.d.ts +8 -3
- package/dist/types/motion-liveness-detector.d.ts.map +1 -1
- package/dist/types/types.d.ts +82 -0
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/README.zh-Hans.md +0 -695
|
@@ -87,8 +87,13 @@ export declare class MotionLivenessDetector {
|
|
|
87
87
|
private addFrameToBuffer;
|
|
88
88
|
/**
|
|
89
89
|
* 验证运动一致性 - 防止照片微动攻击
|
|
90
|
-
*
|
|
91
|
-
*
|
|
90
|
+
* 真实面部运动:光流和关键点方差应该都有意义(都不为零)
|
|
91
|
+
* 照片微动:通常表现为只有光流或只有噪声,或两者都非常低
|
|
92
|
+
*
|
|
93
|
+
* 修复:允许不同类型运动的不同比例关系
|
|
94
|
+
* - 大幅度头部运动(旋转/平移): 高keypoint variance, 中等optical flow
|
|
95
|
+
* - 微妙表情运动: 中等optical flow, 低keypoint variance
|
|
96
|
+
* - 照片微动: 两者都很低,或严重不匹配(一个近零一个不近零)
|
|
92
97
|
*/
|
|
93
98
|
private validateMotionConsistency;
|
|
94
99
|
/**
|
|
@@ -177,7 +182,7 @@ export declare class MotionLivenessDetector {
|
|
|
177
182
|
private calculateOverallMotionScore;
|
|
178
183
|
/**
|
|
179
184
|
* 根据运动分析确定面部是否活跃
|
|
180
|
-
*
|
|
185
|
+
* 修复:改进对真实面部运动的识别,减少误判
|
|
181
186
|
*/
|
|
182
187
|
private determineLiveness;
|
|
183
188
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion-liveness-detector.d.ts","sourceRoot":"","sources":["../../src/motion-liveness-detector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"motion-liveness-detector.d.ts","sourceRoot":"","sources":["../../src/motion-liveness-detector.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -4,14 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { LivenessAction, LivenessActionStatus, DetectionCode, ErrorCode } from './enums';
|
|
6
6
|
export interface FaceFrontalFeatures {
|
|
7
|
+
/** 偏航角阈值(度)- 水平摇晃限制(默认 3) */
|
|
7
8
|
yaw_threshold: number;
|
|
9
|
+
/** 俯仰角阈值(度)- 垂直倾斜限制(默认 4) */
|
|
8
10
|
pitch_threshold: number;
|
|
11
|
+
/** 滚转角阈值(度)- 旋转限制(默认 2) */
|
|
9
12
|
roll_threshold: number;
|
|
10
13
|
}
|
|
11
14
|
export interface ImageQualityFeatures {
|
|
15
|
+
/** 要求人脸完全在边界内(默认 false) */
|
|
12
16
|
require_full_face_in_bounds: boolean;
|
|
17
|
+
/** 用于模糊检测的最小拉普拉斯方差(默认 40) */
|
|
13
18
|
min_laplacian_variance: number;
|
|
19
|
+
/** 用于模糊检测的最小梯度锐度(默认 0.15) */
|
|
14
20
|
min_gradient_sharpness: number;
|
|
21
|
+
/** 用于模糊检测的最小模糊分数(默认 0.6) */
|
|
15
22
|
min_blur_score: number;
|
|
16
23
|
}
|
|
17
24
|
/**
|
|
@@ -19,51 +26,97 @@ export interface ImageQualityFeatures {
|
|
|
19
26
|
* 所有设置都作为单个属性展平
|
|
20
27
|
*/
|
|
21
28
|
export interface FaceDetectionEngineOptions {
|
|
29
|
+
/** 人脸检测模型路径 */
|
|
22
30
|
human_model_path?: string;
|
|
31
|
+
/** TensorFlow WASM 文件路径 */
|
|
23
32
|
tensorflow_wasm_path?: string;
|
|
33
|
+
/** TensorFlow 后端选择 */
|
|
24
34
|
tensorflow_backend?: 'auto' | 'webgl' | 'wasm';
|
|
35
|
+
/** 视频流建议分辨率宽度(默认 1920) */
|
|
25
36
|
detect_video_ideal_width?: number;
|
|
37
|
+
/** 视频流建议分辨率高度(默认 1080) */
|
|
26
38
|
detect_video_ideal_height?: number;
|
|
39
|
+
/** 水平镜像视频(默认 true) */
|
|
27
40
|
detect_video_mirror?: boolean;
|
|
41
|
+
/** 加载视频流的超时时间(毫秒,默认 5000) */
|
|
28
42
|
detect_video_load_timeout?: number;
|
|
43
|
+
/** 检测帧之间的延迟(毫秒,默认 100) */
|
|
29
44
|
detect_frame_delay?: number;
|
|
45
|
+
/** 错误后重试前的延迟(毫秒,默认 200) */
|
|
30
46
|
detect_error_retry_delay?: number;
|
|
47
|
+
/** 要采集的静默检测次数(默认 3) */
|
|
31
48
|
collect_min_collect_count?: number;
|
|
49
|
+
/** 最小人脸尺寸比例(默认 0.5) */
|
|
32
50
|
collect_min_face_ratio?: number;
|
|
51
|
+
/** 最大人脸尺寸比例(默认 0.9) */
|
|
33
52
|
collect_max_face_ratio?: number;
|
|
53
|
+
/** 最小人脸正面度(默认 0.9) */
|
|
34
54
|
collect_min_face_frontal?: number;
|
|
55
|
+
/** 最小图像质量(默认 0.5) */
|
|
35
56
|
collect_min_image_quality?: number;
|
|
57
|
+
/** 人脸正面度特征 */
|
|
36
58
|
collect_face_frontal_features?: FaceFrontalFeatures;
|
|
59
|
+
/** 图像质量特征 */
|
|
37
60
|
collect_image_quality_features?: ImageQualityFeatures;
|
|
61
|
+
/** 活体检测动作列表(默认 [BLINK, MOUTH_OPEN, NOD]) */
|
|
38
62
|
action_liveness_action_list?: LivenessAction[];
|
|
63
|
+
/** 要执行的活体检测动作数量(默认 1) */
|
|
39
64
|
action_liveness_action_count?: number;
|
|
65
|
+
/** 是否随机化活体检测动作(默认 true) */
|
|
40
66
|
action_liveness_action_randomize?: boolean;
|
|
67
|
+
/** 活体验证超时时间(毫秒,默认 60000) */
|
|
41
68
|
action_liveness_verify_timeout?: number;
|
|
69
|
+
/** 最小嘴部张开百分比(默认 0.2) */
|
|
42
70
|
action_liveness_min_mouth_open_percent?: number;
|
|
71
|
+
/** 通过活体检查的最小运动分数(0-1,默认 0.15) */
|
|
43
72
|
motion_liveness_min_motion_score?: number;
|
|
73
|
+
/** 自然运动的最小关键点方差(0-1,默认 0.02) */
|
|
44
74
|
motion_liveness_min_keypoint_variance?: number;
|
|
75
|
+
/** 用于运动分析的帧缓冲区数量(默认 5) */
|
|
45
76
|
motion_liveness_frame_buffer_size?: number;
|
|
77
|
+
/** 眨眼检测的眼睛长宽比阈值(默认 0.15) */
|
|
46
78
|
motion_liveness_eye_aspect_ratio_threshold?: number;
|
|
79
|
+
/** 光流和关键点方差一致性阈值 (0-1,默认 0.3) - 防止照片微动 */
|
|
47
80
|
motion_liveness_motion_consistency_threshold?: number;
|
|
81
|
+
/** 最小光流幅度阈值 - 照片几乎无光流 (0-1,默认 0.02) */
|
|
48
82
|
motion_liveness_min_optical_flow_threshold?: number;
|
|
83
|
+
/** 是否启用严格照片检测模式(默认 false) */
|
|
49
84
|
motion_liveness_strict_photo_detection?: boolean;
|
|
85
|
+
/** 屏幕采集的置信度阈值(0-1,默认 0.7) */
|
|
50
86
|
screen_capture_confidence_threshold?: number;
|
|
87
|
+
/** 屏幕采集检测策略(默认 'adaptive') */
|
|
51
88
|
screen_capture_detection_strategy?: 'fastest' | 'fast' | 'accurate' | 'adaptive';
|
|
89
|
+
/** 综合莫尔纹置信度阈值(0-1,默认 0.65) */
|
|
52
90
|
screen_moire_pattern_threshold?: number;
|
|
91
|
+
/** 是否启用 DCT 分析(默认 true) */
|
|
53
92
|
screen_moire_pattern_enable_dct?: boolean;
|
|
93
|
+
/** 是否启用边缘检测(默认 true) */
|
|
54
94
|
screen_moire_pattern_enable_edge_detection?: boolean;
|
|
95
|
+
/** 色彩饱和度阈值(0-100%,屏幕图像通常 < 40%,默认 40) */
|
|
55
96
|
screen_color_saturation_threshold?: number;
|
|
97
|
+
/** RGB通道相关性阈值(0-1,屏幕通常 > 0.85,默认 0.75) */
|
|
56
98
|
screen_color_rgb_correlation_threshold?: number;
|
|
99
|
+
/** 像素值熵阈值(0-8,屏幕通常 < 6.5,默认 6.5) */
|
|
57
100
|
screen_color_pixel_entropy_threshold?: number;
|
|
101
|
+
/** 梯度平滑性阈值(0-1,屏幕通常 > 0.7,默认 0.7) */
|
|
58
102
|
screen_color_gradient_smoothness_threshold?: number;
|
|
103
|
+
/** 综合置信度阈值(0-1,用于判定是否为屏幕拍摄,默认 0.65) */
|
|
59
104
|
screen_color_confidence_threshold?: number;
|
|
105
|
+
/** 低频段开始位置(相对于频谱长度的百分比,默认 0.15) */
|
|
60
106
|
screen_rgb_low_freq_start_percent?: number;
|
|
107
|
+
/** 低频段结束位置(相对于频谱长度的百分比,默认 0.35) */
|
|
61
108
|
screen_rgb_low_freq_end_percent?: number;
|
|
109
|
+
/** 能量比归一化因子(默认 10) */
|
|
62
110
|
screen_rgb_energy_ratio_normalization_factor?: number;
|
|
111
|
+
/** 通道均值差异的归一化因子(默认 50) */
|
|
63
112
|
screen_rgb_channel_difference_normalization_factor?: number;
|
|
113
|
+
/** RGB 周期性能量权重(默认 0.40) */
|
|
64
114
|
screen_rgb_energy_score_weight?: number;
|
|
115
|
+
/** RGB 通道不同步程度权重(默认 0.40) */
|
|
65
116
|
screen_rgb_asymmetry_score_weight?: number;
|
|
117
|
+
/** 通道均值差异权重(默认 0.20) */
|
|
66
118
|
screen_rgb_difference_factor_weight?: number;
|
|
119
|
+
/** RGB 屏幕拍摄的置信度阈值(默认 0.65) */
|
|
67
120
|
screen_rgb_confidence_threshold?: number;
|
|
68
121
|
}
|
|
69
122
|
/**
|
|
@@ -73,9 +126,13 @@ export interface FaceDetectionEngineOptions {
|
|
|
73
126
|
*/
|
|
74
127
|
export type ResolvedEngineOptions = Required<FaceDetectionEngineOptions>;
|
|
75
128
|
export interface DetectorLoadedEventData {
|
|
129
|
+
/** 检测器是否成功加载 */
|
|
76
130
|
success: boolean;
|
|
131
|
+
/** 错误消息(如果有) */
|
|
77
132
|
error?: string;
|
|
133
|
+
/** OpenCV.js 版本 */
|
|
78
134
|
opencv_version?: string;
|
|
135
|
+
/** Human.js 版本 */
|
|
79
136
|
human_version?: string;
|
|
80
137
|
}
|
|
81
138
|
export interface DetectorActionEventData {
|
|
@@ -86,45 +143,70 @@ export interface DetectorActionEventData {
|
|
|
86
143
|
* 人脸检测信息事件数据
|
|
87
144
|
*/
|
|
88
145
|
export interface DetectorInfoEventData {
|
|
146
|
+
/** 静默活体检测是否通过 */
|
|
89
147
|
passed: boolean;
|
|
148
|
+
/** 提示代码 */
|
|
90
149
|
code: DetectionCode;
|
|
150
|
+
/** 主要消息 */
|
|
91
151
|
message: string;
|
|
152
|
+
/** 检测到的人脸数量 */
|
|
92
153
|
faceCount: number;
|
|
154
|
+
/** 人脸尺寸百分比(0-1) */
|
|
93
155
|
faceRatio: number;
|
|
156
|
+
/** 人脸正面度百分比(0-1) */
|
|
94
157
|
faceFrontal: number;
|
|
158
|
+
/** 图像质量分数(0-1) */
|
|
95
159
|
imageQuality: number;
|
|
160
|
+
/** 运动分数(0-1) */
|
|
96
161
|
motionScore: number;
|
|
162
|
+
/** 关键点方差分数(0-1) */
|
|
97
163
|
keypointVariance: number;
|
|
164
|
+
/** 检测到的运动类型 */
|
|
98
165
|
motionType: string;
|
|
166
|
+
/** 屏幕采集置信度(0-1) */
|
|
99
167
|
screenConfidence: number;
|
|
100
168
|
}
|
|
101
169
|
/**
|
|
102
170
|
* 动作/静默活体检测完成数据
|
|
103
171
|
*/
|
|
104
172
|
export interface DetectorFinishEventData {
|
|
173
|
+
/** 活体检测是否成功 */
|
|
105
174
|
success: boolean;
|
|
175
|
+
/** 静默活体检测通过次数 */
|
|
106
176
|
silentPassedCount: number;
|
|
177
|
+
/** 完成的动作次数 */
|
|
107
178
|
actionPassedCount: number;
|
|
179
|
+
/** 总耗时(毫秒) */
|
|
108
180
|
totalTime: number;
|
|
181
|
+
/** 图像质量分数(0-1) */
|
|
109
182
|
bestQualityScore: number;
|
|
183
|
+
/** Base64 编码的帧图像 */
|
|
110
184
|
bestFrameImage: string | null;
|
|
185
|
+
/** Base64 编码的人脸图像 */
|
|
111
186
|
bestFaceImage: string | null;
|
|
112
187
|
}
|
|
113
188
|
/**
|
|
114
189
|
* 错误数据
|
|
115
190
|
*/
|
|
116
191
|
export interface DetectorErrorEventData {
|
|
192
|
+
/** 错误代码 */
|
|
117
193
|
code: ErrorCode;
|
|
194
|
+
/** 错误消息 */
|
|
118
195
|
message: string;
|
|
119
196
|
}
|
|
120
197
|
/**
|
|
121
198
|
* 调试信息数据
|
|
122
199
|
*/
|
|
123
200
|
export interface DetectorDebugEventData {
|
|
201
|
+
/** 调试级别 */
|
|
124
202
|
level: 'info' | 'warn' | 'error';
|
|
203
|
+
/** 当前阶段 */
|
|
125
204
|
stage: string;
|
|
205
|
+
/** 主要消息 */
|
|
126
206
|
message: string;
|
|
207
|
+
/** 附加详情 */
|
|
127
208
|
details?: Record<string, any>;
|
|
209
|
+
/** 时间戳 */
|
|
128
210
|
timestamp: number;
|
|
129
211
|
}
|
|
130
212
|
export type EventListener<T> = (data: T) => void;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
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-alpha.
|
|
4
|
+
"version": "0.4.0-alpha.8",
|
|
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",
|