我正在研究 LBP 算法并产生另一个问题。在论文 Face Detection and Verification using Local Binary Patterns 中,Yann RODRIGUEZ(博士论文)第 74 页(第 4.3.3 节提议的 LBP/MAP 人脸验证系统),作者提到了
The cropped faces are then processed with the LBP operator (N = 59 labels)
和
For BANCA experiments, the generic model was trained with the additional set of images, referred to as world data (independent of the subjects in the client database).
我的问题是: 1、为什么标签数是59? 2.如何训练世界数据?
有人读过这篇文章吗?
最佳答案
OpenCV 已有用于人脸检测的局部二进制模式级联,您可以在 OpenCV 安装随附的 data
文件夹中找到它。所以没有必要自己训练一个,至少对于人脸检测。见:
这类似于 Rodgriguez 在他的博士论文中使用的内容。论文中提到的数字59是由于Uniform Local Binary Patterns的数量,详见Scholarpedia:
可用的 LBP 级联应该比可用的 Haar 级联更快,但真正率略低(此处未引用,仅基于我的经验)。这也可能是由于训练集。
您可以像使用其他可用级联一样使用它们,这里是 OpenCV Python 绑定(bind)的示例:
这是一个源代码片段,您还可以在其中了解如何在 OpenCV 中使用 CascadeClassifier:
你问的是 Local Binary Patterns for Face Detection,这就是提到的博士论文的内容。使用局部二进制模式进行人脸识别有点相似,但是您可以从局部二进制模式构建空间增强直方图来编码人脸识别的空间信息。我建议您阅读我的人脸识别指南中的局部二进制模式部分:
关于algorithm - 如何在局部二进制算法中训练世界数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11369031/