OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

BEBLID(Boosted Efficient Binary Local Image Descriptor)を実装するクラス。[262]で記述されている。続き...

#include <opencv2/xfeatures2d.hpp>

Collaboration diagram for cv::xfeatures2d::BEBLID:

公開型

enum  BeblidSize {
  SIZE_512_BITS = 100 ,
  SIZE_256_BITS = 101
}
 記述子のビット数。各ビットはブースティングの弱学習器である。ユーザーは512ビットまたは256ビットを選択できる。続き...
 

公開メンバ関数

String getDefaultName () const CV_OVERRIDE
 
virtual float getScaleFactor () const =0
 
virtual void setScaleFactor (float scale_factor)=0
 
- Public Member Functions inherited from cv::Feature2D
virtual ~Feature2D ()
 
virtual void compute (InputArray image, std::vector< KeyPoint > &keypoints, OutputArray descriptors)
 画像(1番目のバリアント)または画像集合(2番目のバリアント)で検出されたキーポイントの集合について記述子を計算する。
 
virtual void compute (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, OutputArrayOfArrays descriptors)
 
virtual int defaultNorm () const
 
virtual int descriptorSize () const
 
virtual int descriptorType () const
 
virtual void detect (InputArray image, std::vector< KeyPoint > &keypoints, InputArray mask=noArray())
 画像(1番目のバリアント)または画像集合(2番目のバリアント)からキーポイントを検出する。
 
virtual void detect (InputArrayOfArrays images, std::vector< std::vector< KeyPoint > > &keypoints, InputArrayOfArrays masks=noArray())
 
virtual void detectAndCompute (InputArray image, InputArray mask, std::vector< KeyPoint > &keypoints, OutputArray descriptors, bool useProvidedKeypoints=false)
 
virtual bool empty () const CV_OVERRIDE
 検出器オブジェクトが空の場合に true を返す。
 
virtual void read (const FileNode &) CV_OVERRIDE
 ファイルストレージからアルゴリズムの引数を読み込む。
 
void read (const String &fileName)
 
void write (const Ptr< FileStorage > &fs, const String &name) const
 
void write (const String &fileName) const
 
virtual void write (FileStorage &) const CV_OVERRIDE
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
void write (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static Ptr< BEBLIDcreate (float scale_factor, int n_bits=BEBLID::SIZE_512_BITS)
 BEBLID記述子を生成する。
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 

Additional Inherited Members

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

BEBLID(Boosted Efficient Binary Local Image Descriptor)を実装するクラス。[262]で記述されている。

BEBLID [262]は、ブースティングによって学習された効率的なバイナリ記述子である。scale_factorパラメータを変更するだけで、任意の検出器から得られるキーポイントを記述できる。いくつかのベンチマークにおいて、ORBBRISKといった他のバイナリ記述子を、同等の効率を保ちながら大幅に上回る性能を示すことが実証されている。BEBLIDKeyPoint周辺の画像のさまざまな領域における平均グレー値の差を用いて記述を行い、本記述子は画像マッチングおよびパッチ検索のために特化して最適化されており、これらの問題が持つ非対称性に対処している。

本コードが有用であると感じた場合は、以下の論文への参照を追加していただきたい:

Iago Suárez, Ghesn Sfeir, José M. Buenaposada, and Luis Baumela. BEBLID: Boosted efficient binary local image descriptor. Pattern Recognition Letters, 133:366–372, 2020.

この記述子は、論文[262]で記述されているように、UBCデータセット[303]のLibertyスプリットからランダムにサンプリングした100万組のパッチペア(陽性20%、陰性80%)を用いて学習された。BEBLIDがどれほどうまく機能するかはAKAZEの例で確認できる。ORBで10000個のキーポイントを検出しBEBLIDで記述すると561個のインライア(75%)が得られるのに対し、ORBで記述すると493個のインライア(63%)しか得られない。

列挙型メンバ詳解

◆ BeblidSize

記述子のビット数。各ビットはブースティングの弱学習器である。ユーザーは512ビットまたは256ビットを選択できる。

列挙値
SIZE_512_BITS 
SIZE_256_BITS 

メンバ関数詳解

◆ create()

static Ptr< BEBLID > cv::xfeatures2d::BEBLID::create ( float scale_factor,
int n_bits = BEBLID::SIZE_512_BITS )
static
Python:
cv.xfeatures2d.BEBLID.create(scale_factor[, n_bits]) -> retval
cv.xfeatures2d.BEBLID_create(scale_factor[, n_bits]) -> retval

BEBLID記述子を生成する。

引数
scale_factor検出されたキーポイント周辺のサンプリングウィンドウを調整する:
  • 1.00f ORBキーポイントに適したスケールである
  • 6.75f SIFTで検出されたキーポイントに適したスケールである
  • 6.25f はデフォルトであり、KAZESURFで検出されたキーポイントに適合する
  • 5.00f AKAZE、MSD、AGAST、FAST、BRISKキーポイントに適したスケールである
n_bits記述子のビット数を決定する。BEBLID::SIZE_512_BITSまたはBEBLID::SIZE_256_BITSのいずれかでなければならない。

◆ getDefaultName()

String cv::xfeatures2d::BEBLID::getDefaultName ( ) const
virtual
Python:
cv.xfeatures2d.BEBLID.getDefaultName() -> retval

アルゴリズムの文字列識別子を返す。この文字列は、オブジェクトをファイルまたは文字列に保存する際に、最上位の xml/yml ノードタグとして使用される。

cv::Feature2D から再実装されている。

◆ getScaleFactor()

virtual float cv::xfeatures2d::BEBLID::getScaleFactor ( ) const
pure virtual
Python:
cv.xfeatures2d.BEBLID.getScaleFactor() -> retval

◆ setScaleFactor()

virtual void cv::xfeatures2d::BEBLID::setScaleFactor ( float scale_factor)
pure virtual
Python:
cv.xfeatures2d.BEBLID.setScaleFactor(scale_factor) -> None

このクラス詳解は次のファイルから抽出されました: