OBS Face Tracker 面部追踪插件完全指南
项目概述
OBS Face Tracker 是一款专为 OBS Studio 设计的面部追踪插件,通过先进的 dlib 机器学习算法实现实时面部检测与智能追踪功能。该插件能够自动捕捉视频中的人脸动态,实现精准的缩放和跟踪效果,为直播和视频制作带来革命性体验。
功能特性详解
三种使用模式
面部追踪源模式
- 将面部追踪功能实现为独立的视频源
- 添加方式:在源列表中点击添加按钮,选择"Face Tracker"
- 在属性面板底部设置"Source"属性指定输入源
面部追踪滤镜模式
- 将面部追踪功能实现为效果滤镜
- 可应用于任何视频源
- 添加方式:在源滤镜中添加"Face Tracker"
面部追踪 PTZ 模式
- 实验性 PTZ 摄像头控制功能
- 作为音视频滤镜使用
- 添加方式:在音视频滤镜中添加"Face Tracker PTZ"
环境搭建与编译
获取项目代码
git clone https://gitcode.com/gh_mirrors/ob/obs-face-tracker.git
cd obs-face-tracker
git submodule update --init
构建项目
创建构建目录并进行编译配置:
mkdir build && cd build
cmake -DLIBOBS_INCLUDE_DIR=$d0/obs-studio/libobs -DLIBOBS_LIB=$d0/obs-studio/libobs -DOBS_FRONTEND_LIB="$d0/obs-studio/build/UI/obs-frontend-api/libobs-frontend-api.dylib" -DCMAKE_BUILD_TYPE=RelWithDebInfo
make
模型文件准备
HOG 模型文件
构建完成后,生成 HOG 模型文件:
mkdir data/dlib_hog_model/
./build/face-detector-dlib-hog-datagen > ./data/dlib_hog_model/frontal_face_detector.dat
CNN 模型文件
下载并准备 CNN 模型:
mkdir data/dlib_cnn_model/
git clone --depth 1 https://github.com/davisking/dlib-models
bunzip2 < dlib-models/mmod_human_face_detector.dat.bz2 > data/dlib_cnn_model/mmod_human_face_detector.dat
面部特征点模型
5 点面部特征点模型:
mkdir data/dlib_face_landmark_model/
git clone --depth 1 https://github.com/davisking/dlib-models
bunzip2 < dlib-models/shape_predictor_5_face_landmarks.dat.bz2 > data/dlib_face_landmark_model/shape_predictor_5_face_landmarks.dat
核心配置参数解析
面部检测选项
左右上下扩展参数
- 用于调整识别到的面部区域大小
- 基于面部宽度或高度的倍数进行缩放
- 参数值将保存到预设中
图像缩放比例
- 在发送到面部检测算法前对帧进行缩放
- 默认值为 2,较大值可降低 CPU 使用率
- 面部检测引擎要求面部尺寸至少为 80x80
检测器裁剪区域
- 在面部检测前对图像进行裁剪
- 单位为缩放前的像素值
- 不影响追踪功能
追踪目标位置
缩放参数
- 设置目标缩放倍数
- 1.0 表示面部尺寸与屏幕尺寸相同
- 较小值导致面部显示较小,即缩放程度较低
X、Y 坐标
- 设置面部中心位置
- 0 表示中心位置,+/-0.5 表示面部中心位于边缘
追踪响应控制
PID 控制参数
- Kp:比例常数,单位 s⁻¹,较大值响应更快
- Ki:积分常数,单位 s⁻¹,较大值更能追踪缓慢移动
- Td:微分常数,单位 s,0 表示无微分项
死区非线性带
- 为误差信号创建死区和非线性带
- 单位为源宽度和高度平均值的百分比
- 误差信号在死区内时强制归零,避免追踪微小移动
实用应用场景
直播场景应用
在单人直播中,OBS Face Tracker 能够自动锁定主播面部,确保人物始终处于画面最佳位置。这种智能追踪功能特别适合教育直播、游戏直播等场景,大幅提升观众观看体验。
视频制作应用
对于在线课程录制、培训视频制作等场景,插件能够自动调整镜头焦点,保证主讲人面部清晰可见,让视频内容更加专业和吸引人。
调试与优化
调试功能
显示面部检测结果
- 启用后显示面部检测和追踪结果
- 蓝色框显示面部检测结果
- 绿色框显示追踪结果
停止面部追踪
- 启用后显示完整图像
- 黄色框显示裁剪区域
技术注意事项
性能优化建议
- 对于低分辨率图像,建议将缩放比例设为 1
- 如果分辨率过小,可创建中间场景应用滤镜
- 合理设置死区参数避免微小移动干扰
已知限制
- 持续面部检测时内存使用量逐渐增加
- 消耗较多 CPU 资源
- 面部检测结果波动可能导致画面抖动
通过本指南,您可以全面掌握 OBS Face Tracker 的使用方法和配置技巧,充分发挥面部追踪功能在视频创作中的优势。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



