最近邻分类法

Posted KAVEI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最近邻分类法相关的知识,希望对你有一定的参考价值。

opencv提供了很多人脸识别方法,大多是通用类face::facerecognizer的子类

局部二值模式(LBP)

LBP原理介绍以及算法实现_holly的专栏-CSDN博客


再来看cv::face:: LBPHFaceRecognizer
类,它的 create方法的前两个参数分别指定
了邻域的大小(半径,单位为像素)和维度(圆上的像素数量,可用于插值)。把得到的LBP图
像分割成一个网格,网格大小由 create方法的第三个参数指定。对网格上的每个区块构建直方
图。最后,把这些直方图的箱子数组合成一个大的向量,得到全局图像模型。对于8×8的网格,
计算256-箱子直方图,得到16384维的向量。
cv:face: LBPHFaceRecognizer类的 train函数对每个参考图像都用上述方法计算
一个很长的向量。每个人脸图像都可看作是高维空间上的一个点。识别器用 predict方法得
个新图像后,就能找到与它距离最近的参考点。该参考点对应的标签就是识别结果,它们的
离就是置信度。这就是最近邻分类器的基本原理。还有一个因素需要考虑:如果输入点与最近
参考点之间的距离太远,就说明它其实并不属于任何类别,那么“距离太远”的判断标准是什么
这由
cv:: face:: LBPHFaceRecognizer
的 create方法的第四个参数决定。
显然,这种方法的原理很简单,并且如果不同的类别在描述空间中生成各自独立的“点云
它的效果就非常好。另外,它只是从最近的邻域中读取分类结果,因而可以处理多个类别,这
是它的一个优势。它的主要缺点是计算量较大—要从这么大的空间中(参考点的数量还可能
多)找出最近的点,需要耗费很长时间。此外,保存这些参考点也要耗费较大的存储空间。

以上是关于最近邻分类法的主要内容,如果未能解决你的问题,请参考以下文章

KNN分类器最近邻分类KD树KNN分类的最佳K值基于半径的最近邻分类器KNN多分类KNN多标签分类KNN多输出分类KNN分类的优缺点

K-NN(最近邻分类算法 python

显示 k 个最近邻用于文本分类

K最近邻算法

使用 R 中的最近邻分类器分配类标签

K 最近邻分类具有相同点的特殊情况