2

我正在实施 Viola-Jones 人脸检测器来检测静止图像中的人脸,它对与我的训练大小相同大小的图像非常有效。但是我不知道面部检测器如何处理多种尺寸的面部?

如果我的图像的训练尺寸是 24*24,并且如果我想在 30*30 的检测器窗口中检测人脸,我需要如何重新调整 haar 特征,以便它适用于 30*30 尺寸的检测器窗口。临界点。

还有一件事,Haar 特征的位置是否也会随着不同大小的检测器窗口而变化,如果是,如何变化?

4

1 回答 1

3

假设您用 、 和 变量表示在 Haar 小波中找到的矩形x,其中和y表示相对于检测器左上边界的矩形左上角、宽度和高度。您可以使用以下伪代码对每个 Haar 小波矩形重新缩放整个检测器:whxywhs

for all rectangle i in the Haar wavelet do
    tempRectangle = rectangle[i];
    tempRectangle.x = tempRectangle.x * s
    tempRectangle.y = tempRectangle.y * s
    tempRectangle.h = tempRectangle.h * s
    tempRectangle.w = tempRectangle.w * s

    //Read the pixels contained in tempRectangle region and
    //calculate this rectangle's contribution to the feature value
    //considering the respective weight of rectangle[i].
end for

因此,我们假设单个 Haar-lke 特征的基本尺寸为 24x24 像素。这种特征由 2 个矩形r1=(10,15,8,4)和组成r2=(4, 8, 8, 4),其中r=(x,y,w,h)。当您将检测器重新缩放一个因子s=1.25时,此特征矩形应变为r1=(12.5, 18.75, 10, 5)r2=(5, 10, 10, 5)

于 2013-10-01T20:35:26.833 回答