OpenCV , 人脸检测 , 命令理解 : stage_sum += 分类器->alpha[总和 >= t]
OpenCV , Face Detection , command understanding : stage_sum += classifier->alpha[sum >= t]
我正在努力更好地理解openCV的人脸检测实现。
我在haar.cpp文件上看到了这个命令:
stage_sum += classifier->alpha[sum >= t];
不知怎么的,我搞不懂这个命令的含义,我知道+=
是什么意思,alpha[sum >= t ]
是什么意思?
减速是这样的:
double t ,sum ;
float stage_sum ;
CvHidHaarClassifier* classifier;
typedef struct CvHidHaarClassifier
{
int count;
//CvHaarFeature* orig_feature;
CvHidHaarTreeNode* node;
float* alpha;
}
typedef struct CvHidHaarFeature
{
struct
{
sumtype *p0, *p1, *p2, *p3;
float weight;
}
rect[CV_HAAR_FEATURE_MAX];
}
CvHidHaarFeature;
typedef struct CvHidHaarTreeNode
{
CvHidHaarFeature feature;
float threshold;
int left;
int right;
}
CvHidHaarTreeNode;
术语
sum >= t
根据sum
是否大于/等于t
,返回1或0。这个值(0或1)被用作数组分类器->alpha[](只有两个条目)的索引。
t
是在训练(弱)分类器期间学习的阈值。在测试期间(即,对图像位置进行分类,无论它是否是人脸),针对每个弱分类器测试sum
的值是否大于阈值t
,并且根据这一点,将不同的值添加到stage_sum
。
相关文章:
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- 只有级联分类器会发出未定义的引用错误
- 将svm分类器设置为HOG检测器
- 在C /OBJ-C 中运行Tensorflow分类器模型与Python的结果不同
- 贝叶斯和SVM分类器在OpenCV3中的实现
- 如何在OpenCV中从3D模型训练HAAR分类器?
- Tensorflow - Deep MNIST 教程 - 将分类器导出到C++
- OpenCV SVM 分类器图像识别
- 哪个分类器可用于使用C 和OPENCV进行铁路线检测
- CNTK中的二进制分类器,带有C
- 是时候训练分类器了
- SVM 分类器未保存在 ".xml" 中?
- 带有级联或 SVM 分类器的 HOG.C++ OpenCV (V2.4.5) 中的程序
- 如何在C++和OpenCV中测量KNN分类器训练的训练时间
- OpenCV级联分类器检测输入Mat边界外的MultiScale结果Rect
- 如何使用多个 SVM 分类器(每个分类器都有一个特定的内核)作为"one vs rest classification"方案?
- 在哪里可以获得用于detectMultiScale调用的新的经过训练的分类器级联类型
- opencv训练分类器从未连续3个阶段
- 修改OpenCV随机树分类器
- 使用OpenCV级联分类器的内存泄漏