问题标签 [lbph-algorithm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 局部梯度模式实现
我正在尝试理解Local Gradient Pattern - A new feature representation for facial expression recognition中描述的局部梯度模式。
有一个计算像素新值的示例,如下所示:
我看到中心像素(即 25)的Pattern-1
值为10
并且Pattern-2
值为01
。我有几个问题。
- 该中心像素的新值是多少?
- LGP 与 LBP 有什么关系?
- 是否有任何使用 LGP(首选 Python)转换二维矩阵的伪代码?
matlab - Matlab LBP 实值
MATLAB 内置的用于计算本地二进制模式的函数,来自计算机视觉工具箱,可生成实数值。
该函数名为:extractLBPFeatures()
我理解 LBP 的值是二进制的 - 它在名称中!它在做什么来获得实数值而不是二进制值?
opencv - OpenCV Haar Cascade 训练参数和时间
我一直在摆弄 OpenCV 的级联训练器,试图训练我自己的分类器。问题是它现在已经训练了 25 多个小时,甚至还没有通过第 1 阶段。
最初,我使用以下命令运行它
nohup opencv_traincascade -data data -vec board.vec -bg bg.txt -numPos 580 -numNeg 1160 -numStages 2 -w 115 -h 153 -featureType LBP &
大约 24 小时后,它甚至无法通过第 1 阶段。查看nohup.out文件,我意识到默认precalcValBufSize
设置为 1024Mb。我想也许将其增加到 4096Mb 将有助于处理,所以我继续使用以下命令重新开始训练
nohup opencv_traincascade -data data -vec board.vec -bg bg.txt -numPos 580 -numNeg 1160 -numStages 2 -w 115 -h 153 -featureType LBP -precalcIdxBufSize 4096 -precalcValBufSize 4096 &
培训已经进行了将近 25 个小时,甚至还没有生成阶段 0 的 XML 文件。
查看进程本身表明它使用了 8284M 的虚拟内存,但使用了 930M 的物理内存,这显示了该进程当前正在使用的所有文件。它在燃烧我的核心方面做得很好,但没有产生任何结果,甚至没有让我知道它走了多远。
我的问题是/是,有没有办法让它使用更多我的实际物理内存来加速它?如果没有,我需要对我的训练数据集进行任何调整吗?
旁注: 我知道数据集大小的一般标准是 24x24,但我已经尝试过了,即使经过 10 个阶段,它也非常可怕。在那个尺寸下,我的对象的轮廓不再正确地获得它的特征。在 24x24 甚至 48x48 的分辨率下,它看起来像是一个巨大的水平扭曲的黑色像素斑点,甚至看不到它的一些独特特征。
image-processing - 使用 16 位图像的 6x6 单元的 LBP(局部二进制模式)
我通过以下方式为 3x3 像素单元中的每个像素位置完成了 LBP 功能实现: 生成 4 位二进制状态值 根据查找表将 16 个状态减少到 8 个状态 计算 8 个 bin 的出现。
我想通过使用 6x6 像素单元为 16 位输入图像实现相同的功能,因为 6x6 像素单元没有中点,我无法实现类似于 3x3 的功能。谁能给我一个想法,我该如何开始这个实现。提前感谢您的建议。
python-3.x - matrix.cpp:310: 错误: (-215) s >= 0 in function cv::setSize
我对python很陌生。我使用
face_recognizer = cv2.face.LBPHFaceRecognizer_create()
并将我的预测函数定义为
我在使用预测函数预测面部时出现以下错误
提前谢谢了
opencv - 如何将 HOG 和 LBP 功能与 openCV 结合在一个signle cascade.xml 文件中?
opencv_traincascade 只为一个特征(lbp 或 haar 或 hog)生成 cascade.xml 文件。是否可以将获得的结果合并到一个文件中?或者是否有任何 opencv 实用程序可以生成两种不同类型特征的组合?
python - 将对象掩码应用于 LBP 计算
我看到很多文章将 lbp 应用于基于纹理的图像分类。我只是想知道关于这项技术的三件事,我无法从谷歌找到明确的答案:
该算法如何为周围没有足够相邻像素的图像的边界像素计算 lbp。
如果我们有八个相邻像素,那么中心像素将有 256 个图案(如果使用均匀,则为 59 个)。但是如果我们增加相邻像素大小(例如 8 或 10),那么图案的数量也会增加,对吗?在那种情况下,它对直方图计算有何影响?
我们如何仅计算对象的lbp。特别是,如果我们要比较图像中的对象,我们只需要计算对象的 lbp 和直方图。我已经尝试通过使用 opencv 直方图(支持掩码而 numpy 直方图不支持掩码)来实现这个想法,但它没有用。关于如何根据掩码过滤 lbp 数组的任何想法,然后我们可以找到直方图。
谢谢你。
computer-vision - 什么是最适合用于对象检测的描述符?
我想基于 viola jones 算法为多个对象(猫、花和汽车)构建一个对象检测器。我们可以使用 HOG、LBP 和类似 HAAR 的描述符。我们如何才能知道根据每个对象最合适的描述符是什么?
python - 为良好的面部特征选择 LBP 采样点和半径
我正在尝试使用 Python 和 OpenCV 对面部图像进行一些特征工程。这个想法是使用这些特征进行无监督学习,将同一个人的图像组合在一起。管道如下:
- 从几个 OpenCV 人脸检测器中选择一个(几个 LBP 和几个 HAAR 人脸级联)
- 使用 OpenCV 来
2.1 使用 5×5 高斯函数对图像进行卷积以进行低频带滤波以降低噪声
2.2 将图像转换为灰度
2.3 从图片中提取人脸图像
2.4 将人脸大小调整为常见形状(例如 300 x 300) - 使用 scikit-image.feature.local_binary_pattern 获取人脸的局部二进制模式
- 使用 numpy 生成这些 LBP 的直方图
- 使用直方图作为 scikit-learn 的 NearestNeighbors 无监督学习算法的特征,以寻找可能表明它们属于同一个人的图像集群
问题是集群并不能很好地工作。当我看到我的数据被缩小到二维以进行可视化时,它甚至看起来都没有任何可辨别的集群,尽管我知道我的测试图像包含几个不同人的照片。
我怀疑它与 scikit-image 的 LBP 参数有关:采样点数和采样半径。我尝试为那些希望看到不同人物图像之间良好分离的人尝试几个值,但到目前为止还没有多少运气,请在此处查看结果。(出于可视化目的,不同的颜色表示不同的人。)所以这是我对帖子的问题:
是否有一个好的规则或规则来选择采样点的数量和 LBP 的采样半径,可能基于图像的性质或它们的某些属性?如果您对如何获得好的功能有其他想法,请告诉我。