问题标签 [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.
image-processing - 人脸识别算法
我正在尝试使用 MSRA-CFW 数据集进行人脸识别。我为此数据集尝试了两种算法:
特征脸和
FisherFaces
正如预期的那样,特征脸表现不佳(因为它对光线和头部方向的变化很敏感)。然而,即使是 FisherFaces 也没有给出令人满意的结果。
我应该为这个数据集使用哪种算法?或者甚至可能适用于任何其他数据集。卷积神经网络会在这种情况下工作吗?该数据集还提供了 LBP 功能。这些会比卷积神经网络更好吗?
谢谢
c++ - 使用 LBP 训练 Haar 级联的问题
我正在尝试使用 haar_cascade 训练一些分支徽标。我所做的是,我拍摄了 2500 张 500 x 500 的平方图片来填充opencv_createsamples
. 然后我将它们生成为:
opencv_createsamples -info 'logo.info' -vec '../logo.vec' -bg '../Negatives/bg.txt' -w 24 -h 24 -num 2500
在我的中,logo.info
我有与每张图片的相对路径相对应的线条,其1 0 0 500 500
含义是“在 (0,0) 和 (500, 500) 之间有一个对象”
然后我将级联训练为:
opencv_traincascade -data 'cascade/' -vec '../logo.vec' -bg '../Negatives/bg.txt' -numPos 2500 -numNeg 3019 -numStages 25 -featureType LBP -w 24 -h 24
使用这些参数:
参数:
cascadeDirName:级联/
vecFileName: ../logo.vec
bgFileName: ../Negatives/bg.txt
数量:2500
numNeg: 3019
阶段数:25
precalcValBufSize[Mb]:256
precalcIdxBufSize[Mb]:256
舞台类型:BOOST
特征类型:LBP
样本宽度:24
样品高度:24
升压类型:GAB
最低命中率:0.995
最大假警报率:0.5
重量修剪率:0.95
最大深度:1
最大弱计数:100
我有两种错误:
- OpenCV 错误:在 cvPreprocessIndexArray,文件 /tmp/buildd/opencv-2.3.1/modules/ml/src/inner_functions.cpp,第 432 行终止调用中的参数值之一超出范围(未选择组件/输入变量!)抛出'cv :: Exception'实例后what():/tmp/buildd/opencv-2.3.1/modules/ml/src/inner_functions.cpp:432:错误:(-211)未选择组件/输入变量!在函数 cvPreprocessIndexArray
...
当您在图像数量和-num
参数之间没有显着差异时,通常会发生此错误。所以,让我们尽量少给100!
好吧,当我将参数调整为不从数组中输出时,我得到与图像相同类型的输出,但出现此错误:
OpenCV 错误:写入中的断言失败(tempNode->left),文件 /tmp/buildd/opencv-2.3.1/modules/traincascade/boost.cpp,第 628 行终止在抛出“cv::Exception”实例后调用什么(): /tmp/buildd/opencv-2.3.1/modules/traincascade/boost.cpp:628: 错误: (-215) tempNode->left in function write
中止
我试过了:
- 更改图像的命运尺寸(24x24、36x36...)
- 更改
-mode
参数。 - 尝试放置 #positiveSamples < #negativeSamples 和 #positiveSamples > #negativeSamples
我必须做的是用 LBP(不是 HAAR)进行强制性培训。有人有任何线索吗?
先感谢您。
c++ - 与已知图像匹配的局部二进制模式
我目前正在寻找一种使用 OpenCV 和 C++ 实现本地二进制模式的方法。
目前我发现了这个:https ://github.com/bytefish/opencv/tree/master/lbp
但是,我需要将 2 个图像或 LBP 直方图相互比较并给出一些相似度指数。
这是我修改后的代码:
但是我不认为它工作正常。我没有得到准确的直方图。所以我无法比较。
请帮忙。
javascript - 带有 LBP 级联的 js-objectdetect
我目前正在开发一个使用js-objectdetect库进行对象检测的 webapp 。因此,我使用python 脚本将opencv HAAR-cascades转换为所需的 js-objectdetect 格式。
我的问题是,是否也可以将opencv LBP-cascades转换为 js-objectdetect 格式。我需要这个,因为我已经使用了一个 opencv 应用程序,并且我需要使用相同的 LBP 级联。
我在互联网上使用 LBP-cascades 进行 Javascript 对象/人脸检测时找不到任何内容。有人知道将这些级联与 js-objectdetect 或其他一些库一起使用的方法吗?
提前致谢!
android - 在android中使用OpenCV计算LBP直方图
我正在使用适用于 android 的 OpenCV SDK 在 android 中进行人脸识别。我使用了 OpenCV android SDK 附带的人脸检测示例代码。现在我想转向人脸识别。我想计算检测到的人脸的 LBP 直方图并将其存储在数据库中,稍后将使用卡方与其他直方图进行匹配。OpenCV 中的人脸识别器类具有未公开的训练和预测方法。train 方法是否计算图像的直方图?如何使用人脸识别器类计算 LBP 直方图?
c++ - 比较 2 个 LBP(OpenCV C++)
我正在使用来自bytefish.de的代码 来生成我的 LBP。如果我生成 2 个 LBP 及其相应的直方图,那么比较它们的最佳方法是什么?
到目前为止,这是我的代码:
基本上它给了我一个关于这两个图像有多相似的量化数字。我的问题是,我该如何改善这个结果?根据 2 个 LBP 的相似程度,有什么更好的方法来获得可量化的数字?
谢谢。
opencv - 我们可以在opencv中使用LBPH来实现人脸验证/认证系统吗?
最近,我尝试使用 FaceRecognizer.LBPH 作为人脸识别器来实现人脸验证/身份验证系统,但它只能很好地识别,不适用于一对一匹配。具体来说,我的训练数据集有 4 人,我的测试数据集有 6 人(2 人用作冒名顶替者)。当我使用 2 个冒名顶替者的图像时,系统出错了。我的代码如下,参考此链接
当我用 2 个冒名顶替者进行测试时,我希望结果为 -1。任何建议都值得赞赏。
java - OpenCV C++ calcHist 到 Java
我正在尝试让一些 c++ 代码在我的 Android 设备上运行;但是,我正在使用的类型遇到一个小问题Mat
。我试图转换的代码如下(第二个函数调用第一个):
现在我的 java 代码将这 2 个函数合并为 1,因为我的类型始终相同:CV_32SC1。
我收到一个错误OpenCV Error: Unsupported format or combination of formats () in void cv::calcHist
,我从另一个问题中发现这是因为我的src
矩阵类型是CV_32SC1
. 所以我的问题是我不知道如何将这些行从第二个 c++ 函数正确转换为 Java:
我正试图弄清楚如何专门做类似于Mat_<float>(src)
Java 的事情。
供参考:这里是我现在正在尝试做的整个代码的链接