【问题标题】:Face detection MATLAB - slanted and up side down人脸检测 MATLAB - 倾斜和上下颠倒
【发布时间】:2015-01-16 15:28:19
【问题描述】:

我正在开发一个 MATLAB 项目,该项目使用户能够进行面部检测并将其模糊。

使用的内置函数:

vision.CascadeObjectDetector

这个功能的问题:它只检测正面。

我尝试的方法:在while循环中使用imrotate函数来旋转图像,而度数小于360。所以我认为它会起作用。我每次都将旋转增加 23。

缺点:它不起作用,它会改变图像的空间分辨率。

【问题讨论】:

标签: matlab computer-vision face-detection matlab-cvst cascade-classifier


【解决方案1】:

我过去做过一些实验,了解到vision.CascadeObjectDetector使用默认的正面模型可以容忍大约15度的平面内旋转。所以我建议一次将图像旋转 15 度甚至 10 度,而不是 23 度。

在这种情况下,训练您自己的检测器的问题在于底层特征(Haar、LBP 和 HOG)对于平面内旋转并非不变。你必须训练多个检测器,每个方向一个,每 15 度左右。

另外,您是在静态图像还是视频中检测人脸?如果您正在观看视频,则可能需要尝试跟踪面部。这样,即使您因为某人的头部倾斜而错过了一张脸,您以后也有机会检测到它。一旦你检测到一张脸,即使它倾斜,你也可以跟踪它。看看这个example

【讨论】:

  • 这是一个图像检测。只是为了检测图像中的人脸,然后将它们模糊掉。
  • 在这种情况下,您将不得不旋转图像并多次调用检测器,或者训练多个检测器。或者,如果您的脸因为图像颠倒而颠倒,您可以尝试使用其他一些线索(例如检测天空)来确定图像的正确方向。
猜你喜欢
  • 1970-01-01
  • 2016-09-07
  • 2016-01-20
  • 2012-03-07
  • 2013-10-29
  • 2019-11-18
  • 1970-01-01
  • 2013-09-24
  • 2023-01-13
相关资源
最近更新 更多