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

DNNモデルに基づく DISK 特徴検出器および記述子。 続き...

#include <opencv2/features.hpp>

Collaboration diagram for cv::DISK:

公開メンバ関数

virtual String getDefaultName () const CV_OVERRIDE
 
virtual Size getImageSize () const =0
 
virtual int getMaxKeypoints () const =0
 
virtual float getScoreThreshold () const =0
 
virtual void setImageSize (const Size &size)=0
 
virtual void setMaxKeypoints (int maxKeypoints)=0
 
virtual void setScoreThreshold (float threshold)=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 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< DISKcreate (const std::vector< uchar > &bufferModel, int maxKeypoints=-1, float scoreThreshold=0.0f, const Size &imageSize=Size(), int backendId=0, int targetId=0)
 メモリ上のモデルバッファから DISK 検出器を作成する。
 
static Ptr< DISKcreate (const String &modelPath, int maxKeypoints=-1, float scoreThreshold=0.0f, const Size &imageSize=Size(), int backendId=0, int targetId=0)
 DISK 検出器を作成する。
 
- 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
 

詳細説明

DNNモデルに基づく DISK 特徴検出器および記述子。

DISK (Deep Image Structure and Keypoints) は、全結合畳み込みネットワークを1回フォワードパスさせることでキーポイントと128次元のL2正規化された記述子を生成する、学習ベースの局所特徴パイプラインである。このクラスは、事前学習済み DISK モデルのONNXエクスポートを cv::dnn::Net を通じてラップし、標準的な cv::Feature2D インターフェースで公開することで、SIFTやORBの代替としてそのまま利用できるようにしている。

このクラスは、ONNXモデルが image という名前の単一の入力([0, 1] 範囲のRGBチャンネル順の N×3×H×W float32 テンソルを受け取る)と、keypoints (N×2)、scores (N)、descriptors (N×128) という名前の3つの出力を持つことを前提とする。

メンバ関数詳解

◆ create() [1/2]

static Ptr< DISK > cv::DISK::create ( const std::vector< uchar > & bufferModel,
int maxKeypoints = -1,
float scoreThreshold = 0.0f,
const Size & imageSize = Size(),
int backendId = 0,
int targetId = 0 )
static
Python:
cv.DISK.create(modelPath[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval
cv.DISK.createFromMemory(bufferModel[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval
cv.DISK_create(modelPath[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval
cv.DISK_createFromMemory(bufferModel[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval

メモリ上のモデルバッファから DISK 検出器を作成する。

このオーバーロードは、ディスク上のファイルではなくバッファから DISK ONNXモデルを読み込む。モデルがアプリケーションのリソース(例えばAndroidのアセット)から読み込まれ、ファイルシステム上のパスとして利用できない場合を想定している。

引数
bufferModelDISK ONNXモデルの内容を格納したバッファ。
maxKeypoints画像ごとに返すキーポイントの最大数。(ネットワークのスコアによる)応答が最も強いものが残される。-1 はすべての検出結果を残す。
scoreThresholdネットワークのスコアがこの値より厳密に小さいキーポイントを破棄する。
imageSizeネットワークに入力する目標の入力サイズ (width, height)。Size()(デフォルト)を指定すると、ネットワークが想定する固定入力形状 1024x1024 にフォールバックする。これを上書きする場合、DISK は16倍のダウンサンプリングを行うため、両方の次元が16の正の倍数でなければならない。
backendIdDNNバックエンド識別子(cv::dnn::Backend を参照)。0 = DNN_BACKEND_DEFAULT。
targetIdDNNターゲット識別子(cv::dnn::Target を参照)。0 = DNN_TARGET_CPU。
覚え書き
C++ では、これは create のオーバーロードである。Python/Java/Objective-C のバインディングでは createFromMemory として公開される。Objective-C のセレクタは引数の型では区別されず、そうしなければファイルパス版の create と衝突してしまうためである。

◆ create() [2/2]

static Ptr< DISK > cv::DISK::create ( const String & modelPath,
int maxKeypoints = -1,
float scoreThreshold = 0.0f,
const Size & imageSize = Size(),
int backendId = 0,
int targetId = 0 )
static
Python:
cv.DISK.create(modelPath[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval
cv.DISK.createFromMemory(bufferModel[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval
cv.DISK_create(modelPath[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval
cv.DISK_createFromMemory(bufferModel[, maxKeypoints[, scoreThreshold[, imageSize[, backendId[, targetId]]]]]) -> retval

DISK 検出器を作成する。

引数
modelPathDISK ONNXモデルへのパス。
maxKeypoints画像ごとに返すキーポイントの最大数。(ネットワークのスコアによる)応答が最も強いものが残される。-1 はすべての検出結果を残す。
scoreThresholdネットワークのスコアがこの値より厳密に小さいキーポイントを破棄する。
imageSizeネットワークに入力する目標の入力サイズ (width, height)。Size()(デフォルト)を指定すると、ネットワークが想定する固定入力形状 1024x1024 にフォールバックする。これを上書きする場合、DISK は16倍のダウンサンプリングを行うため、両方の次元が16の正の倍数でなければならない。
backendIdDNNバックエンド識別子(cv::dnn::Backend を参照)。0 = DNN_BACKEND_DEFAULT。
targetIdDNNターゲット識別子(cv::dnn::Target を参照)。0 = DNN_TARGET_CPU。

◆ getDefaultName()

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

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

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

◆ getImageSize()

virtual Size cv::DISK::getImageSize ( ) const
pure virtual
Python:
cv.DISK.getImageSize() -> retval

◆ getMaxKeypoints()

virtual int cv::DISK::getMaxKeypoints ( ) const
pure virtual
Python:
cv.DISK.getMaxKeypoints() -> retval

◆ getScoreThreshold()

virtual float cv::DISK::getScoreThreshold ( ) const
pure virtual
Python:
cv.DISK.getScoreThreshold() -> retval

◆ setImageSize()

virtual void cv::DISK::setImageSize ( const Size & size)
pure virtual
Python:
cv.DISK.setImageSize(size) -> None

◆ setMaxKeypoints()

virtual void cv::DISK::setMaxKeypoints ( int maxKeypoints)
pure virtual
Python:
cv.DISK.setMaxKeypoints(maxKeypoints) -> None

◆ setScoreThreshold()

virtual void cv::DISK::setScoreThreshold ( float threshold)
pure virtual
Python:
cv.DISK.setScoreThreshold(threshold) -> None

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