我正在尝试将视频分割为前景和背景。假设我的视频主要是人脸,我从人脸检测器开始,并使用人脸检测器内部的所有像素作为GrabCut的可能前景种子。
问题是,有时(在几帧内),人脸检测器不会检测到人脸,尽管人脸肯定在那里。特别是当用户将视线从屏幕上移开并且面部的侧面轮廓可见时。
对此有解决方案吗?
一个显而易见的答案也出现在我的脑海中,那就是使用side profile Haar分类器,但我如何将它们融合在一起?从某种意义上说,在任何时候,我都应该有面部的正面轮廓或侧面轮廓(或者根本没有)。
我想知道检测到的人脸是否有任何相关的置信度值,因此我可以使用级联中的检测,从而提供更有信心的检测。
发布于 2014-07-08 20:05:23
CascadeClassifier::detectMultiScale()有一个(未记录的)重载:
virtual void detectMultiScale( InputArray image,
CV_OUT std::vector<Rect>& objects,
CV_OUT std::vector<int>& rejectLevels,
CV_OUT std::vector<double>& levelWeights,
double scaleFactor,
int minNeighbors, int flags,
Size minSize, Size maxSize,
bool outputRejectLevels ) = 0;
rejectLevels应该是您要查找的置信度
https://stackoverflow.com/questions/24630724
复制相似问题