如何在XML中旋转和翻转LBP特征以进行多视图人脸检测?

如何在XML中旋转和翻转LBP特征以进行多视图人脸检测?,xml,face-detection,lbph-algorithm,Xml,Face Detection,Lbph Algorithm,对于多视图人脸检测,我们可以翻转和旋转LBP特征/操作符来检测不同的人脸姿势 例如,我们将具有LBP特征的XML训练为平面内旋转45度的面,如果翻转LBP特征,我们可以检测到平面内旋转-45度,如所附图像所示 论文(第3页)和论文(第3页,第二段)都提到了这一点我的问题是如何翻转LBP功能。假设我在XML文件中有LBP特性,如下所示(阶段0如下所示)。然后在XML文件的末尾还有矩形。我翻转了矩形,如附图所示。我使用带有LBP特性的profile face XML进行了测试 我翻转了所有矩形,如所

对于多视图人脸检测,我们可以翻转和旋转LBP特征/操作符来检测不同的人脸姿势
例如,我们将具有LBP特征的XML训练为平面内旋转45度的面,如果翻转LBP特征,我们可以检测到平面内旋转-45度,如所附图像所示

论文(第3页)和论文(第3页,第二段)都提到了这一点
我的问题是如何翻转LBP功能。假设我在XML文件中有LBP特性,如下所示(阶段0如下所示)。然后在XML文件的末尾还有矩形。我翻转了矩形,如附图所示。我使用带有LBP特性的profile face XML进行了测试

我翻转了所有矩形,如所附图像所示,但它不起作用。我还需要在XML文件中翻转哪些内容,这些内容经过了正确的轮廓面培训
以便新的XML文件可用于左轮廓面

<!-- stage 0 -->
    <_>
      <maxWeakCount>2</maxWeakCount>
      <stageThreshold>-3.0878582596778870e-001</stageThreshold>
      <weakClassifiers>
        <_>
          <internalNodes>
            0 -1 56 -753806256 1896960080 -266837675 -553430703
            -939425653 -275644159 -662055445 -71304225</internalNodes>
          <leafValues>
            -8.9636164903640747e-001 7.1802616119384766e-001</leafValues></_>
        <_>
          <internalNodes>
            0 -1 46 -787246145 864096283 -117321441 320950355 402663867
            759873929 1577797887 993786587</internalNodes>
          <leafValues>
            -8.4973531961441040e-001 5.8757579326629639e-001</leafValues></_></weakClassifiers></_>

2.
-3.0878582596778870e-001
0 -1 56 -753806256 1896960080 -266837675 -553430703
-939425653 -275644159 -662055445 -71304225
-8.9636164903640747e-001 7.1802616119384766e-001
0 -1 46 -787246145 864096283 -117321441 320950355 402663867
759873929 1577797887 993786587
-8.4973531961441040e-001 5.8757579326629639e-001


在我看来,你的部分操作是正确的。但是,您还必须更改
位,因为比较现在是镜像和旋转的。例如,如果您在我对另一个问题的回答中查看图表,则比较
R0>=R4
将变为
R2>=R4
,并且这些比较的结果分别进入LBP的第7位和第5位。因此,对于镜像,您需要计算与旧LUT等效的新LUT,但LBP索引将经历三位置换:b7 b5、b4 b0、b1 b3。