栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

了解OpenCV LBP实施

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

了解OpenCV LBP实施

我请您参考我过去的答案,该答案略微涉及到该主题,但是没有解释XML级联格式。

让我们看一个为 简化 而修改的 伪造 示例,该示例仅具有一个阶段和三个功能的级联。 __

<!-- stage 0 --><_>  <maxWeakCount>3</maxWeakCount>  <stageThreshold>-0.75</stageThreshold>  <weakClassifiers>    <!-- tree 0 -->    <_>      <internalNodes>        0 -1 3 -67130709 -21569 -1426120013 -1275125205 -21585        -16385 587145899 -24005</internalNodes>      <leafValues>        -0.65 0.88</leafValues></_>    <!-- tree 1 -->    <_>      <internalNodes>        0 -1 0 -163512766 -769593758 -10027009 -262145 -514457854        -193593353 -524289 -1</internalNodes>      <leafValues>        -0.77 0.72</leafValues></_>    <!-- tree 2 -->    <_>      <internalNodes>        0 -1 2 -363936790 -893203669 -1337948010 -136907894        1088782736 -134217726 -741544961 -1590337</internalNodes>      <leafValues>        -0.71 0.68</leafValues></_></weakClassifiers></_>

稍后……

<features>  <_>    <rect>      0 0 3 5</rect></_>  <_>    <rect>      0 0 4 2</rect></_>  <_>    <rect>      0 0 6 3</rect></_>  <_>    <rect>      0 1 4 3</rect></_>  <_>      <rect>      0 1 3 3</rect></_>

让我们首先来看一个阶段的标签:

  • maxWeakCount
    一个阶段是在阶段弱分类,什么是所谓的评论的数量
    <!-- tree -->
    ,我叫LBP特征是什么。
    • 在此示例中,阶段0的LBP特征数量为
      3
  • stageThreshold
    是什么样的特征的权重相加之和必须 至少 为舞台传递。
    • 在此示例中,阶段阈值为
      -0.75

转到描述LBP功能的标签:

  • internalNodes
    是11位的整数的数组。对于LBP级联,前两个没有意义。第三个是XML文件末尾s
    <features>
    表的索引
    <rect>
    (A
    <rect>
    描述了特征的几何形状)。最后的8个值是8个32位值,它们共同构成了我在较早答案中提到的256位LUT。这个LUT是由训练过程计算出来的,我对此并不完全了解。
    • 在此示例中,阶段的第一个特征引用了矩形
      3
      矩形 由四个整数描述
      0 1 4 3
  • leafValues
    是与特征相关联的两个权重(通过/失败)。根据从
    internalNodes
    特征评估期间选择的位,将这两个权重之一加到总计中。将该总数与该阶段的进行比较
    <stageThreshold>
    。然后,
    bool stagePassed = (sum >= stageThreshold - EPS);
    EPS
    1e-5处,确定阶段是否已通过或失败。权重也由训练过程确定。
    • 在此示例中,第一个特征的失败权重为
      -0.65
      ,通过权重为
      0.88

最后是

<feature>
标签。它由
<rect>
标签数组组成,其中包含4个描述要素几何的整数。给定一个处理窗口(在您的情况下为24x24),前两个整数描述其在处理窗口内的
偏移量
x
y
整数像素 偏移量, 后两个整数描述LBP功能所需的9个子矩形中一个子矩形的 宽度高度 。待评估。

在本质上,然后,标签

<rect> ft.x ft.y ft.width ft.height </rect>
位于一个处理窗口内
pW.width
X
pW.height
检查面是否存在于
pW.x
X
pW.y
对应于…

为了评估LBP,就足以读取点处的积分图像

p[0..15]
并用于
p[BR]+p[TL]-p[TR]-p[BL]
计算九个子矩形的积分。比较 中心子
矩形R4和其他八个子矩形,从R0开始顺时针旋转,以产生8位LBP(这些位打包[msb 01258763 lsb])。

然后,将此8位LBP用作功能的(2 ^ 8 =
256)位LUT(

<internalNodes>
)的索引,选择一个位。如果该位为1,则特征与面部不一致;否则,该特征与面部不一致。如果为0,则与脸部一致。
<leafNode>
然后返回适当的权重()并与所有其他特征的权重相加,以产生总体阶段总和。然后将其
<stageThreshold>
进行比较以确定阶段是通过还是失败。

如果还有其他问题,我还不能解释清楚。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号