# facial_liveness_detecton_tester 中心化人脸活体检测性能评测 **Repository Path**: szrd2023/facial_liveness_detecton_tester ## Basic Information - **Project Name**: facial_liveness_detecton_tester 中心化人脸活体检测性能评测 - **Description**: 中心化人脸活体检测性能评测 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-16 - **Last Updated**: 2024-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 活体检测评估工具 本项目包含两个主要脚本,用于评估活体检测算法的性能。 ## 1. 单一算法评估 (liveness_evaluation.py) ### 功能 - 对单个活体检测算法进行性能评估 - 生成多个评估指标和可视化图表 - 记录错误识别的案例 ### 输出内容 1. 评估指标图表: - FAR曲线:不同阈值下的假脸被错误接受率 - FRR曲线:不同阈值下的真脸拒绝率 - Recall曲线:不同阈值下的真脸识别率 - HTER曲线:不同阈值下的半总错误率 - ROC曲线:真接受率vs假接受率 - 真脸/假脸照片的得分分布图 2. CSV文件: - 全部照片的活体检测结果 - 最佳阈值下真脸误判为假脸(FN)的照片列表 - 最佳阈值下假脸误判为真脸(FP)的照片列表 ### 使用方法 ```markdown:readme.md # 活体检测评估工具 本项目包含两个主要脚本,用于评估活体检测算法的性能。 ## 1. 单一算法评估 (liveness_evaluation.py) ### 功能 - 对单个活体检测算法进行性能评估 - 生成多个评估指标和可视化图表 - 记录错误识别的案例 ### 输出内容 1. 评估指标图表: - FAR曲线:不同阈值下的假脸被错误接受率 - FRR曲线:不同阈值下的真脸拒绝率 - Recall曲线:不同阈值下的真脸识别率 - HTER曲线:不同阈值下的半总错误率 - ROC曲线:真接受率vs假接受率 - 真脸/假脸照片的得分分布图 2. CSV文件: - 全部照片的活体检测结果 - 最佳阈值下真脸误判为假脸(FN)的照片列表 - 最佳阈值下假脸误判为真脸(FP)的照片列表 ### 使用方法 ```python from liveness_evaluation import evaluate_liveness import numpy as np # 设置参数 real_folder = "path/to/real/faces" # 真脸图片文件夹 fake_folder = "path/to/fake/faces" # 假脸图片文件夹 provider = "1" # 算法提供商编号 thresholds = np.linspace(0.5, 2, 16) # 评估阈值范围 # 运行评估 metrics_df = evaluate_liveness(real_folder, fake_folder, provider, thresholds) ``` ## 2. 多算法序列组合评估 (evaluate_sequential_results.py) ### 功能 - 评估多个算法按特定顺序组合使用的效果 - 支持设置每个算法的独立阈值 - 统计每个算法的实际使用情况 ### 工作原理 1. 按指定顺序依次尝试每个算法 2. 当某个算法的得分达到其阈值时,使用该算法的结果 3. 如果所有算法都未达到阈值,使用最后一个算法的结果 ### 使用方法 ```python from evaluate_sequential_results import evaluate_sequential_results # 指定各算法的结果文件路径(按使用顺序) csv_paths = { '3': 'provider3/results.csv', '1': 'provider1/results.csv', '2': 'provider2/results.csv' } # 设置每个算法的阈值 thresholds = { '3': 0.8, # 算法3的阈值 '1': 0.7, # 算法1的阈值 '2': 0.6 # 算法2的阈值 } # 运行评估 results_df = evaluate_sequential_results(csv_paths, thresholds) ``` ### 输出内容 - 序列组合的性能指标(TP、TN、FP、FN、召回率等) - 每个算法的使用频率统计 - 详细的评估结果CSV文件 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 注意事项 1. 确保图片文件夹中只包含支持的图片格式(jpg、png等) 2. 所有图片路径不要包含中文字符 3. 评估结果会自动保存,文件名包含时间戳 4. 建议先使用单一算法评估获取各算法的最佳阈值,再进行序列组合评估 ```