0

私は vlfeat を試しており、画像データベースから膨大な量の機能を取得しており、平均精度 (MAp) のグラウンド トゥルースを使用してテストしています。全体として、私は約40%を得ました。私と非常によく似た手法を使用している間に、一部の論文でより高い MAp が得られたことがわかります。ワードの定番バッグ。

私は現在、ワードテクニックの標準バッグのより高い MAp を取得するための答えを探しています。SURF などの他の実装があることはわかりますが、この質問では、標準的な Lowe の SIFT と標準的な言葉の袋に固執しましょう。

つまり、vl_sift はしきい値を設定して、機能の選択をより厳密にすることができます。現在、しきい値を高くすると、より小さく意味のある「良い」機能リストが得られ、ノイズの多い機能が削減される可能性があることを理解しています。「良い」機能とは、同じ画像に異なるバリエーションがある場合、非常に類似した機能が他の画像でも検出されることを意味します

しかし、このしきい値をどのくらい高く設定すればよいのでしょうか? ときどき、しきい値が高いと画像が特徴をまったく返さないことがあります。最初は、MAP が良くなるまで、しきい値を調整し続けようと考えていました。しかし、繰り返しますが、それぞれのデータベースに最適な MAp を見つけるためだけに調整を続けるのは悪い考えだと思います。だから私の質問は:

  1. しきい値を調整すると機能の数が減少する可能性がありますが、しきい値を増やすと、より少ない数でより良い機能が常に返されますか?

  2. 優れた機能を取得するためのより良い方法はありますか?

  3. 優れた機能を取得する率を高めることができる他の要因は何ですか?

4

1 に答える 1

2

近年のパスカルの挑戦に応えて出されたいくつかの論文を見てください。彼らが私に与えているように思われる印象は、標準的な「機能検出」方法は、BagofWordsテクニックではうまく機能しないということです。あなたがそれについて考えるとき、これは理にかなっています-BoWは、多くの弱い、しばしば無関係な機能をまとめることによって機能します。特定のオブジェクトを検出することではなく、オブジェクトやシーンのクラスを認識することです。そのため、通常の「主要な機能」を強調しすぎると、助け以上に害を及ぼす可能性があります。

そのため、密集したグリッドやランダムなポイントを特徴として使用している人々がいます。経験から、ハリスコーナー、LoG、SIFT、MSERなどでこれらの方法のいずれかを使用すると、パフォーマンスに大きなプラスの影響があります。

質問に直接答えるには:

  1. はい。SIFT APIから:

    キーポイントは、画像のブロブではなく画像のエッジの近くで選択されているか、コントラストの低い画像構造で検出されているために、不安定になる可能性のあるキーポイントを排除することでさらに洗練されています。フィルタリングは、次のように制御されます。
    ピークしきい値。これは、キーポイントを受け入れるための最小のコントラストです。これは、vl_sift_set_peak_thresh()によってSIFTフィルターオブジェクトを構成することによって設定されます。
    エッジしきい値。これはエッジ除去のしきい値です。これは、vl_sift_set_edge_thresh()によってSIFTフィルターオブジェクトを構成することによって設定されます。

    ここの「検出器パラメータ」セクションで、動作中の2つのしきい値の例を確認できます。

  2. 調査によると、シーンから密に選択された機能は、より「インテリジェントな」方法(SIFT、Harris、MSERなど)を使用して選択された機能よりも説明的な「単語」を生成します。BagofWordsパイプラインをvl_featのDSIFTまたはPHOW実装で試してください。パフォーマンスが大幅に向上するはずです(「単語」の選択と分類の手順が適切に調整されていると仮定します)。

  3. 特徴点の密集したセットの後、この分野での最大のブレークスルーは「空間ピラミッド」アプローチであったようです。これにより、画像に対して生成される単語の数が増えますが、機能に場所の側面が提供されます。これは、BagofWordsには本質的に欠けているものです。その後、パラメーターが適切に調整されていることを確認します(使用している機能記述子(SIFT、HOG、SURFなど)、語彙に含まれる単語の数、使用している分類子など)。活発な研究地で。お楽しみください=)

于 2013-02-16T12:01:09.220 に答える