【问题标题】:track multiple human head using opencv使用opencv跟踪多个人头
【发布时间】:2013-01-10 17:37:05
【问题描述】:

我正在做我正在做一个视频处理项目,初步步骤涉及人脸识别。由于我无法训练fisher / eigen人脸识别器模型,我尝试使用LBP人脸识别器模型并且它确实有效......基本上我的人脸识别程序所做的是它在识别的人脸周围绘制一个矩形并且我不想要任何矩形外星人脸...但是 LPB 识别器强制这样做?...因为它预测检测到的人脸匹配的最近标签....因此外星人脸也被预测为训练有素的人脸...:-(((. ..还有人知道如何使用任何预处理技术改进 LBP 人脸识别吗??

【问题讨论】:

  • 这可能是你的检测器如何训练的问题......如果你给它足够的alien 面孔(因为它不是蓝色/紫色的人脸)作为负面例子,分类器应该处理它......另外,你可能想看看Viola Jones Detectors
  • 你所做的就是所谓的人脸检测(它和人脸识别不同,是的)。您能否澄清什么是“外星人面孔”,以及您为什么认为“LBP 识别器强制这样做”?您使用 LBP 完成任务的工作基础是什么?是哈迪德等人的论文“用于检测和识别面部的判别特征空间”吗? ?
  • 外星人脸:没有作为训练模型输入的脸...
  • @subzero 我先检测人脸,十人将检测到的人脸给模型预测标签..模型返回最可能的标签...
  • 外星人脸 - 大声笑 :P 不管怎样,更严肃的问题是,你想在视频中检测人脸、识别人脸还是跟踪他们?对于面部检测,我建议在 OpenCV 中使用 Viola-Jones 检测器 CascadeClassifier,对于面部识别,我建议使用 Fischer Recognizer(在 OpenCV 中),对于跟踪,我建议您查看光流和Camshift算法(在OpenCV

标签: c++ opencv face-recognition


【解决方案1】:

你问的问题接近人脸验证。

LBP 人脸识别器返回置信度值(距离值)和标签。
如果您不想在出现外星人面孔时绘制矩形,请添加额外条件:-

仅在置信度得分 阈值

时绘制

要确定阈值,您必须对经过训练的模型进行充分测试;找出置信度分数的范围并确定阈值。

预处理

您可以使用高斯差分或简单的直方图均衡器进行照明标准化。
您可以旋转头部,使两个眼睛坐标处于同一水平以进行姿势校正。

【讨论】:

  • 如何获得置信度分数??我已经使用了equalizeHist 函数...足够了吗?...好吧,信心越小越准确?
  • 好的,我明白了....但问题是当人离开或从侧面看他的脸时,我无法获得准确的结果....我怎样才能更准确? ..
  • @ranger :: Ya...置信度越小,训练好的人脸在帧中的概率越大。如果您不能编写不变算法,那么您必须在训练中包含可能的变化。或者您可以限制用户正面摆姿势并靠近相机。..
  • 我对图像处理非常陌生……你能推荐一种算法,无论与摄像头的距离如何,都能识别人脸吗?
  • @ranger :: 我不知道,但我知道如何计算与相机的相对距离...面部面积是与相机的距离...离相机越远=整个图像中的人脸区域越小,离相机越近=整个图像中的区域越多...您可以使用OpenCV人脸检测器返回的参数计算面积->宽度和高度...计算面积后,你可以做一些测试,也可以搜索尺度不变的人脸识别算法,如 SIFT、SURF、....
猜你喜欢
  • 1970-01-01
  • 2017-04-25
  • 2020-06-03
  • 2011-01-12
  • 2011-09-07
  • 1970-01-01
  • 2011-06-21
  • 2011-09-15
  • 1970-01-01
相关资源
最近更新 更多