c++ - 多视角人脸检测

标签 c++ opencv image-processing face-detection

我正在开发一个视频处理项目。到目前为止,我一直在使用 LBPfrontal Face Cascade 来检测人脸,但它们的问题是它们无法检测侧 View 或倾斜的脸部。有没有训练有素的分类器来检测这种类型的面孔?或者他们有什么有效的算法吗?

最佳答案

对于平面外旋转(类似于“不”手势的偏航变化),有一个经过训练的级联 profile_face.xml 适用于左侧轮廓。因此,首先检查正面,然后检查左侧轮廓,然后镜像图像并检查右侧轮廓(并反向镜像坐标)。

对于平面内旋转(滚动变化,类似于头部“摆动”),您最多可以将图像旋转 30-45 度,执行正面检测,然后“取消旋转”坐标。

用于"is"手势的头部运动(音调变化)。检测将适用于正面检测器。

通过一些巧妙的高效算法将所有这些检测器并行组合在一起,使用 GPU,您就可以设计出一个可以检测任何角度人脸的系统。也许添加一个皮肤检测器来消除错误的接受/拒绝。

关于c++ - 多视角人脸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14892121/

相关文章:

c++ - 使用 new 运算符初始化数组

C++/Arduino 闪光 LED 不同间隔

c++ - 我是否将 (int, double...) 视为类

python - 使用sobel滤波器进行边缘检测后提取每个对象

python - 从笔记本中提取文本

matlab - 如何在 MATLAB 中编辑图像的轴以反转方向?

c++ - 使用 D3D11_MAPPED_SUBRESOURCE 和映射/取消映射时出现困惑的纹理输出

javascript - 图像结果未显示在页面上

Java 识别图像中的特定对象

python - cv2.VideoWriter_fourcc 的反义词是什么?