1

私はSURFアルゴリズムを実装しており、ChrisEvanのOpenSURFを参照しています。

OpenSURFおよび他のほとんどすべてのSURF実装では、DxxおよびDyyが計算されるときに、倍率3が使用されることがわかります(以下のコードを参照してください)。SURFペーパーまたはOpenSURFペーパーのどこに、なぜそれを行うのかが記載されていません。私は同じことをするのに問題はありませんが、なぜこの乗算が実行されているのか知りたいです。DxxとDyyの計算にとって重要である場合、なぜそれがどこにも言及されていないのですか?私はそれを逃していますか?これを経験したことがある人は私にいくつかの説明を与えることができますか?よろしく

Dxx and Dyy along with Dxy are used to calculate the Determinant
Dxx = BoxIntegral(img, r - l + 1, c - b, 2*l - 1, w)
          - BoxIntegral(img, r - l + 1, c - l / 2, 2*l - 1, l)*3; // Why 3 here?

Dyy = BoxIntegral(img, r - b, c - l + 1, w, 2*l - 1)
          - BoxIntegral(img, r - l / 2, c - l + 1, l, 2*l - 1)*3; // Why 3 here?
4

1 に答える 1

2

特にボックスフィルターローブのプロパティに関する追加の詳細を提供する、2008年に発行された更新されたペーパーを参照する必要があります。

セクション3.2と図2を参照すると、ボックスフィルターの中央ローブ(黒いもの)の負の係数がであるの-2に対し、白い横ローブの正の係数はであることがわかります+1

上記の式では、係数3は、積分画像のおかげで、次の事実に単純に関連しています。

  • +1全体を合計すると、
  • -3次に、中央葉のみに対して減算(を使用)を実行します

これにより-2、中央葉に期待される係数が得られます(1 - 3)。

于 2013-02-15T10:41:55.573 に答える