web-dev-qa-db-ja.com

スケール不変の特徴抽出のためのSURFとSIFTの高速な代替手段はありますか?

SURFはSIFTと同様に特許を取得しています。 ORBとBriefは特許を取得していませんが、それらの機能はスケール不変ではなく、複雑なシナリオでの有用性を大幅に制限しています。

SURFと同じくらい速くスケール不変の特徴を抽出でき、SURFとSIFTほど厳密には特許を受けていない特徴抽出器はありますか?

32
Diego

すでにBRISKを選択していますが、 [〜#〜] freak [〜#〜] は興味深いかもしれません。著者は、BRISKやORBよりも優れた結果があると主張しています。また、ORBisスケールインバリアントを追加する必要がありますが、その領域でいくつかの問題があります。だから私はまだ誰かがそれを試すことをお勧めします。

FREAKソースコード はOpenCVと互換性があり(それらをマージするのがどれほど簡単かはわかりません)、著者はOpenCVプロジェクトへの提出に取り組んでいます。

編集:

FREAKがopencv機能検出器/記述子の一部になりました。

あなたは ここでもっと読むことができます いくつかの特徴検出器/抽出器の違いについて そして一連のベンチマーク FREAKと他の人気のあるものを含みます。

30
Rui Marques

FREAKは最速のスケールおよび回転不変記述子抽出器であると想定されており、それはオープンソースOpenCVに実装されているため、簡単に使用できます。 BruteForceMatcherのようなハミング距離を使用するバイナリマッチャーが必要です。

ここに の使い方があり、SIFT記述子で簡単に置き換えることができます。

12
Jav_Rock

私は結局 Brisk を使用しました。これは、SURFに匹敵するパフォーマンスを備えた機能検出器ですが、BSDライセンスの下で使用されます。さらに、OpenCV FeatureDetectorフレームワークに簡単にプラグインできる非常に優れたオープンソースC++実装があるので、コードでSURF over Briskを使用することを選択する2行のようなものです。

9
Diego

指向勾配のマルチスケールヒストグラム を試してみてください。これは完全にスケール不変ではありませんが、データが適切なスケール制限のセット(多くの場合、実際のケース)で制約されている場合、おそらくこれでうまくいくでしょう。

目的のアプリケーションに完全に依存する別のアプローチは、指向勾配のプレーンヒストグラムや外観モデルなどの非スケール不変記述子の上に構築されている場合でも、 poselets を活用することです。 。トレーニングデータのアノテーションに、異なるスケールですべて検出するためのさまざまなアイテムの例が含まれている場合、トレーニングのためにPoseletsで使用されるプロクラステススタイルの距離は、多くのスケール不変性を処理する必要があります。主要なアプリケーションが部品のローカライズされた検出でない場合、これは満足のいくものではないかもしれません。

余談ですが、SIFTとSURFが(少なくとも部分的に)助成金を通じて納税者のドルで資金を供給されていることを考えると、SIFTとSURFがこのように特許を取得できることはかなり残念です。

6
ely

あなたはKAZEを試すことができます、それはより速くより正確であるはずです(ビデオは豪華に見えますが、私はまだそれを試すことができませんでした)。また、利用可能な加速バージョンもあります。

Pablo F. Alcantarilla、Adrien Bartoli、Andrew J. Davison、 " KAZE Features "、欧州コンピュータビジョン会議(ECCV)。フィオレンツェ*、イタリア。 2012年10月。

Pablo F. Alcantarilla、JesúsNuevo、Adrien Bartoli、「 非線形スケールスペースでの高速化機能の高速明示的拡散 」、英国機械ビジョン会議(BMVC)。ブリストル、イギリス。 2013年9月

ソースコード、ビデオ、その他は 作者のウェブサイト にあります。

* Firenze

4
the swine

FREAKはOpenCV 2.4.2に含まれています。簡単に使用できます:-)

3
Kikohs