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

TEBLID (Triplet-based Efficient Binary Local Image Descriptor) を実装するクラス。[266] で説明されている。さらに...

#include <opencv2/xfeatures2d.hpp>

Collaboration diagram for cv::xfeatures2d::TEBLID:

公開型

enum  TeblidSize {
  SIZE_256_BITS = 102 ,
  SIZE_512_BITS = 103
}
 記述子のビット数。各ビットはボックス平均の差である。ユーザは 256 ビットと 512 ビットのいずれかを選択できる。続き...
 

公開メンバ関数

String getDefaultName () const CV_OVERRIDE
 
- 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 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 (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static Ptr< TEBLIDcreate (float scale_factor, int n_bits=TEBLID::SIZE_256_BITS)
 TEBLID 記述子を生成する。
 
- 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
 

詳細説明

TEBLID (Triplet-based Efficient Binary Local Image Descriptor) を実装するクラス。[266] で説明されている。

TEBLID は Triplet-based Efficient Binary Local Image Descriptor の略であるが、当初は BAD と呼ばれていた [266]。これは BEBLID [265] を改良したもので、トリプレット損失、ハードネガティブマイニング、アンカースワップを用いて画像マッチングの結果を向上させている。scale_factor パラメータを変更するだけで、任意の検出器のキーポイントを記述できる。TEBLIDORBBEBLIDBRISK と同程度に効率的だが、トリプレットベースの学習目標によってより識別力の高い特徴が選択され、それが精度向上の理由となっている。また BEBLID よりもコンパクトであり、ORB で検出した10000個のキーポイントを用いて AKAZE の例 を実行すると、BEBLID は 512 ビットで 561 個のインライア (75%) を得るのに対し、TEBLID は 256 ビットで 621 個 (75.2%) を得る。ORB は 493 個のインライア (63%) しか得られない。

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

Iago Suárez, José M. Buenaposada, and Luis Baumela. Revisiting Binary Local Image Description for Resource Limited Devices. IEEE Robotics and Automation Letters, vol. 6, no. 4, pp. 8317-8324, Oct. 2021.

この記述子は UBC データセット [307] の Liberty 分割で学習された。

列挙型メンバ詳解

◆ TeblidSize

記述子のビット数。各ビットはボックス平均の差である。ユーザは 256 ビットと 512 ビットのいずれかを選択できる。

列挙値
SIZE_256_BITS 
SIZE_512_BITS 

メンバ関数詳解

◆ create()

static Ptr< TEBLID > cv::xfeatures2d::TEBLID::create ( float scale_factor,
int n_bits = TEBLID::SIZE_256_BITS )
static
Python:
cv.xfeatures2d.TEBLID.create(scale_factor[, n_bits]) -> retval
cv.xfeatures2d.TEBLID_create(scale_factor[, n_bits]) -> retval

TEBLID 記述子を生成する。

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

◆ getDefaultName()

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

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

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


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