2

静止画像の顔を検出するために Viola-Jones の顔検出器を実装していますが、トレーニング サイズと同じサイズの画像に対して十分に機能します。しかし、顔検出器が複数のサイズの顔に対してどのように機能するかわかりませんか?

画像のトレーニング サイズが 24*24 で、30*30 の検出器ウィンドウで顔を検出したい場合、haar-feature を再スケーリングして、30*30 サイズの検出器ウィンドウで同じように動作するようにする必要があります。しきい値。

もう1つ、Haar-featureの位置も検出器ウィンドウのサイズによって変化しますか?もしそうなら、どのように?

4

1 に答える 1

3

Haar ウェーブレット内にある四角形をxywおよびh変数で表しているとします。ここで、xおよびは、検出器の左上の境界、その幅、および高さに対するy四角形の左上隅を表します。次の疑似コードを使用して、Haar ウェーブレット四角形ごとに係数で検出器全体を再スケーリングできます。whs

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

したがって、1 つの Haar-lke フィーチャのベース サイズが 24x24 ピクセルであると仮定しましょう。このような機能は、と の 2 つの長方形で構成されr1=(10,15,8,4)ます。検出器を係数 で再スケーリングすると、この機能の長方形はおよびになります。r2=(4, 8, 8, 4)r=(x,y,w,h)s=1.25r1=(12.5, 18.75, 10, 5)r2=(5, 10, 10, 5)

于 2013-10-01T20:35:26.833 に答える