如何用视频批量生成人脸数据集?Face-Track-Detect-Extract运行命令与facepics输出详解

发布时间:2026/8/26 14:45:53
如何用视频批量生成人脸数据集?Face-Track-Detect-Extract运行命令与facepics输出详解 如何用视频批量生成人脸数据集Face-Track-Detect-Extract运行命令与facepics输出详解【免费下载链接】Face-Track-Detect-Extract Detect , track and extract the optimal face in multi-target faces (exclude side face and select the optimal face).项目地址: https://gitcode.com/gh_mirrors/fa/Face-Track-Detect-ExtractFace-Track-Detect-Extract 是一个开源的人脸检测、跟踪与提取工具它从视频中自动检测多张人脸通过 SORT 多目标跟踪锁定每个人物再智能剔除侧脸为每个人物只挑选一张最正面、最清晰的人脸保存到facepics目录——一条命令即可从批量视频中生成高质量人脸数据集适合 CNN 训练集构建与人脸识别后处理。一、它是怎么工作的整个流水线分为三步环环相扣 MTCNN 人脸检测基于 TensorFlow 的 MTCNN 三级级联网络P-Net/R-Net/O-Net逐帧检测人脸框与 5 点关键点源码位于align/detect_face.py检测最小人脸尺寸为 40 像素。 SORT 多目标跟踪利用卡尔曼滤波预测 匈牙利算法关联为每个被检测到的人分配稳定 ID核心实现在src/sort.py、src/kalman_tracker.py与src/data_association.py。 最优人脸筛选通过 5 点关键点计算宽高比等特征判断正脸/侧脸lib/face_utils.py中的judge_side_face函数跟踪结束后每个人物只保留最正的一张脸由lib/utils.py的save_to_file写出。 关键优势同一人物在整个视频里只输出一张图片天然去重直接可用作数据集。二、快速上手3 步部署与运行命令第 1 步获取项目git clone https://gitcode.com/gh_mirrors/fa/Face-Track-Detect-Extract第 2 步安装依赖要求Python 3.5依赖清单见requirements.txttensorflow-gpu、opencv-python、numba、scikit-learn、filterpy、numpypip install -r requirements.txt第 3 步放入视频并运行将视频支持mp4、avi格式放入videos/目录项目已内置两个示例视频。然后执行python3 start.py运行过程中会实时弹窗显示带 ID 标注的跟踪画面按q可提前结束人脸提取结果自动保存到./facepics目录。在提取的人脸上绘制关键点python3 start.py --face_landmarks会在输出的人脸图上标出 5 个人脸关键点方便人工核对提取质量。✅三、运行命令参数配置全解start.py支持以下命令行参数见start.py中parse_args函数参数默认值作用--videos_dirvideos输入视频所在目录--output_pathfacepics人脸图片输出目录--detect_interval1每隔多少帧执行一次 MTCNN 检测调大可提速--margin10人脸框外扩边距视频中人脸较大时可调大--scale_rate0.7输入帧缩放比例调小可提升检测速度--show_rate1实时预览窗口的缩放比例--face_score_threshold0.85人脸检测置信度阈值范围 0~1--face_landmarks关是否在提取的人脸上绘制 5 个关键点--no_display关关闭实时预览窗口服务器环境必加组合示例——无界面服务器上的批量处理python3 start.py --no_display --detect_interval 3 --scale_rate 0.5四、facepics 输出目录结构详解运行结束后facepics目录结构如下facepics/ ├── 1_Hours Of _Harassment In NYC!/ ← 以视频文件名去扩展名建子目录 │ ├── a1b2c3d4-....jpg ← UUID 命名对应视频中某个人物 │ └── e5f6a7b8-....jpg ← 另一个人物仅 1 张最优人脸 └── 2_Obama/ └── 9c8d7e6f-....jpg核心机制解读每个视频一个子目录目录名 视频文件名去掉扩展名见start.py中directoryname的拼接逻辑。每个人物一张图片文件名是 UUID不代表人物姓名而是该人物整段跟踪生命周期中选出的唯一最优人脸。侧脸过滤跟踪结束时会筛选宽高比指标dist_rate 1.4且width_rate 1达标的正脸样本再按width_rate升序取最正的一张保存逻辑见lib/utils.py。跟踪不足不输出某目标被跟踪的关键帧少于 5 帧则直接丢弃避免输出模糊、残缺的图片。五、人脸数据集调参技巧现象建议调整运行太慢MTCNN 检测是瓶颈调大--detect_interval如 3~5配合调小--scale_rate小人脸检测不到保证人脸在缩放后仍 ≥ 40 像素不要过度调小scale_rate输出偏少/偏多微调--face_score_threshold0.8~0.9跟踪容易丢失调大--margin让人脸框留更多余量⚖️ 速度和质量需要平衡detect_interval越大越快但目标快速移动时可能漏检日常批量处理推荐从默认值出发按视频实际效果微调。六、项目结构速览start.py主入口串联检测、跟踪与输出全流程align/detect_face.pyMTCNN 人脸检测模型实现src/sort.py、src/kalman_tracker.py、src/data_association.pySORT 跟踪器三件套lib/face_utils.py正脸/侧脸判定算法lib/utils.py日志与最优人脸保存逻辑videos/示例视频目录requirements.txt依赖清单结语从视频到人脸数据集只需三步放入视频、安装依赖、执行python3 start.py。Face-Track-Detect-Extract 用MTCNN 检测 SORT 跟踪 正脸优选的组合自动完成去重与质量筛选输出的facepics目录可直接作为 CNN 训练集或送往后端人脸识别。 快去试试吧【免费下载链接】Face-Track-Detect-Extract Detect , track and extract the optimal face in multi-target faces (exclude side face and select the optimal face).项目地址: https://gitcode.com/gh_mirrors/fa/Face-Track-Detect-Extract创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考