【发布时间】:2014-10-30 06:25:29
【问题描述】:
我正在使用OpenCV FaceRecognizer 的LBP 类型进行两面比较工作。我的问题是如何计算百分比格式预测置信度?给出以下代码(javacv):
int n[] = new int[1];
double p[] = new double[1];
personRecognizer.predict(mat, n, p);
int confidence = p[0];
但是置信度是一个双值,how 我应该将convert 它转换成percentage % 的probability 值吗?
有现成的公式吗?
抱歉,如果我没有清楚地说明我的问题。好的,这是场景:
我想比较两张人脸图像,得到两张人脸的相似度,例如输入约翰的照片和他同学汤姆的照片,假设相似度为30%;然后输入约翰的照片和他哥哥杰克的照片,可能性是80%。 这两个可能性因子表明杰克比汤姆更像他的兄弟约翰......所以百分比格式的可能性因子是我想要的,值越大意味着两个输入面的可能性越大。 目前我通过使用opencv函数FaceRecognizer.predict计算输入的置信度值来做到这一点,但置信度值实际上代表其特征向量空间中输入之间的距离,所以我如何将距离(置信度)缩放为可能性百分比格式?
【问题讨论】:
-
double值代表什么?它的规模是多少?
-
@EdChum 双值置信度应该是从 opencv Recognizer.predict() 函数得到的距离值。
-
@blgt 是的,我正在寻找的是作为 LBP 类型识别器引用的链接的公式。
-
对于 lbp 它可能是:100.0 * distance / (gridx*gridy*256)
标签: java c++ opencv javacv face-recognition